Commit 82219d28 by Shahbaz Youssefi Committed by Commit Bot

Vulkan: fix alpha values in convert vertex shader

When reading vertex attributes, GLES requires the y and z components to be filled with 0 if missing, and the alpha channel to be filled with 1.0 for float types and 1 for integer types. At the same time, this change reduces the number of variations in this shader. Bug: angleproject:3192 Change-Id: I1bdf491952c296962fa9160f2d29d415eb3d570d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936708Reviewed-by: 's avatarJaedon Lee <jaedon1.lee@samsung.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent 5afd5ec6
......@@ -96,89 +96,39 @@
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc":
"523d3207d424614197ace9601ce56950",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc":
"f5ef892346ee10e5d0d9f8cba2a491b2",
"021ad52cea91db420280e4406081e8f2",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc":
"59128c2f079f511d3945c974567385ac",
"2d618000d8c839338a9faa3c800acbaf",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc":
"0867e61a34a642983b9a6b617def8497",
"6f02318375b02ce2121cd409f9f0a1bc",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc":
"a566c782ee8ac336851db8b1f695dcca",
"7d2128cc8962c0e0c4cb03c773ec03bb",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc":
"531a0b3b412bf252b7fa71eb92d8e3c6",
"199e8d2f931aa43c3dff9aaa9ec26bcd",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc":
"e1e1fd5754cce8d5f6157972a8f650d1",
"90c8f5720161febcdeea675c083d503b",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc":
"f6615e6c90eba9c92d1516b8d07e0b34",
"dfb6b6e51f6bbb022f592a254ad067a2",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc":
"bb62a58562d954c5a0946c291c2afca2",
"420785373b15743e3a29effe12ccdc4a",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc":
"5228214dc4d40eebed9b66806d604ef0",
"b369a5a2e93b302eeddef0185c55ae02",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc":
"18cf63360b3030cb637dd1129bd04e6b",
"9f8a2a28737b4cd354d62873c261e1b4",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000A.inc":
"61b2ac99ab77bea128bfe97dd34b4fa7",
"ecc200fd8bd6f9054fe7fcd921bcb399",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000B.inc":
"42a2ba6a02b07e5e22912950e65a9841",
"e20cba5aea8256f6fb9f287d22c6a188",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000C.inc":
"14d935497b4e3e511ed765dfbee0d1f7",
"b17a1b7bfcf94e4e248abd18860c2a34",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc":
"f2b99ccc857d814498b67d0d39edbe44",
"3c24f4f3309ce1dadd5802681ee8f680",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc":
"b66ede43a25847955caa42a9f681854d",
"f19e58c8b9f1dac479d31f551a92e031",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc":
"0d9058cddfe4033353c476a4a9c5410b",
"5a6a7d5cdfd96e45101cd6fe7dc20371",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc":
"11139111ebc5610e9f90f8900260b6c1",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000011.inc":
"ac8c255a9c59f2f197c00c615255fcd8",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000012.inc":
"1166c798f406767182b1f0245bfa967b",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000013.inc":
"bae7085d6d6915eb27e380b3caa93da6",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000014.inc":
"8dbe3e2af70babae7603a34ec9340451",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000015.inc":
"bce92a380a3ae9eae0268c147fdfd1ca",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000016.inc":
"38eee786134a82a8f3ecd3e9f9cb4fc0",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000017.inc":
"c9a4c3100ce405279425855655f1ef50",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000018.inc":
"5f2b521b8c31ecf08d2776c554c0c699",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000019.inc":
"4b364dc33cf595d2fa382b9321f48dbc",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001A.inc":
"ee4f06ba87a3dde490e01a0ec4561e10",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001B.inc":
"d2b62347cd2b80f885adfa31f6aeccc0",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001C.inc":
"92ea6760ba66b603fcbc1bebf207aa78",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001D.inc":
"72bbe32670195bcf4be9d1edd8152178",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001E.inc":
"e5131c8ba46eaf2674aad854eb3bc787",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001F.inc":
"45f2705df7389be715506e9c3e484d74",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000020.inc":
"d79651c76fdfefb0949ae18e006a6d22",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000021.inc":
"52d7d35300cbdc1825bb75445a4784ba",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000022.inc":
"3cb10ed1f526018215af300c40614fd7",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000023.inc":
"cf7d1cfe77021df82b8c2ff5ec97ac59",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000024.inc":
"44fd4a3c651d31fd783a42dfc0bde182",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000025.inc":
"25b270092f8e6a1bfeb3c6f5e441d792",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000026.inc":
"a77252550fef5aa63bb49faecb6de265",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000027.inc":
"1bac85ed8b670bbe4b68ffa4064bf31f",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000028.inc":
"d6cfcf49825f3da242d0f8935b0e30f6",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000029.inc":
"59e6c4a829283dc6db1664bb397ed6a2",
"6a4da57f0c84d217711b51eea99c061c",
"src/libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc":
"235ca7c3979ce29a49c320d000ee7409",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc":
......@@ -294,7 +244,7 @@
"src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp":
"c4fe0f463b41cd59bae33f9711e0b67b",
"src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp":
"d93560cac4f8877a928cfec712045462",
"e0967dcc25d76797864dd5c0ab9847ce",
"src/libANGLE/renderer/vulkan/shaders/src/FullScreenQuad.vert":
"805ec8b2f87d4bd4242dc5b1c58ba3b4",
"src/libANGLE/renderer/vulkan/shaders/src/ImageClear.frag":
......@@ -306,9 +256,9 @@
"src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp":
"dcc246b398b2e07a869a264666499362",
"src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp":
"05c79365e12eb3c9f1f9252dba3e62e6",
"7e0bc36d24abb773260a7bbd47b9d1d0",
"src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h":
"5796f01116800b6ec062a2a66edbbf99",
"350020dbc136ae8cc67455694ed13f31",
"tools/glslang/glslang_validator.exe.sha1":
"289f30598865a987a21b79ae525fc66f",
"tools/glslang/glslang_validator.sha1":
......
......@@ -80,16 +80,11 @@ uint32_t GetConvertVertexFlags(const UtilsVk::ConvertVertexParameters &params)
bool srcIsFixed = params.srcFormat->isFixed;
bool srcIsFloat = params.srcFormat->isFloat();
bool srcIsA2BGR10 =
((params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt2101010) ||
(params.srcFormat->vertexAttribType == gl::VertexAttribType::Int2101010));
params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt2101010 ||
params.srcFormat->vertexAttribType == gl::VertexAttribType::Int2101010;
bool srcIsRGB10A2 =
((params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt1010102) ||
params.srcFormat->vertexAttribType == gl::VertexAttribType::Int1010102) &&
params.srcFormat->alphaBits;
bool srcIsRGB10X2 =
((params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt1010102) ||
params.srcFormat->vertexAttribType == gl::VertexAttribType::Int1010102) &&
!params.srcFormat->alphaBits;
params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt1010102 ||
params.srcFormat->vertexAttribType == gl::VertexAttribType::Int1010102;
bool srcIsHalfFloat = params.srcFormat->isVertexTypeHalfFloat();
bool destIsSint = params.destFormat->isSint();
......@@ -169,29 +164,6 @@ uint32_t GetConvertVertexFlags(const UtilsVk::ConvertVertexParameters &params)
UNREACHABLE();
}
}
else if (srcIsRGB10X2)
{
if (srcIsSint)
{
flags |= ConvertVertex_comp::kRGB10X2SintToFloat;
}
else if (srcIsUint)
{
flags |= ConvertVertex_comp::kRGB10X2UintToFloat;
}
else if (srcIsSnorm)
{
flags |= ConvertVertex_comp::kRGB10X2SnormToFloat;
}
else if (srcIsUnorm)
{
flags |= ConvertVertex_comp::kRGB10X2UnormToFloat;
}
else
{
UNREACHABLE();
}
}
else if (srcIsHalfFloat && destIsHalfFloat)
{
// Note that HalfFloat conversion uses the same shader as Uint.
......@@ -1149,10 +1121,6 @@ angle::Result UtilsVk::convertVertexBuffer(ContextVk *contextVk,
uint32_t flags = GetConvertVertexFlags(params);
bool isAligned =
shaderParams.outputCount % 64 == 0 && shaderParams.componentCount % shaderParams.Ed == 0;
flags |= isAligned ? ConvertVertex_comp::kIsAligned : 0;
VkDescriptorSet descriptorSet;
vk::RefCountedDescriptorPoolBinding descriptorPoolBinding;
ANGLE_TRY(allocateDescriptorSet(contextVk, Function::ConvertVertexBuffer,
......
......@@ -36,8 +36,6 @@
// floor(c / Ns) * Ss + mod(c, Ns) * Bs
//
// - Flags:
// * IsAligned: if true, assumes the workgroup size divides the output count, so there is no
// need for bound checking.
// * IsBigEndian
// - Conversion:
// * SintToSint: covers byte, short and int types (distinguished by Bs and Bd).
......@@ -61,11 +59,6 @@
// Converts to float.
// * RGB10A2SnormToFloat: Similar to IntToFloat, but normalized and only for RGB10A2.
// * RGB10A2UnormToFloat: Similar to UintToFloat, but normalized and only for RGB10A2.
// * RGB10X2SintToFloat: Same types as RGB10X2SintToSint for source (including scaled).
// Converts to float.
// * RGB10X2UintToFloat: Same types as RGB10X2UintToUint for source (including uscaled).
// Converts to float.
// * RGB10X2SnormToFloat: Similar to IntToFloat, but normalized and only for RGB10X2.
//
// SintToSint, UintToUint and FloatToFloat correspond to CopyNativeVertexData() and
// Copy8SintTo16SintVertexData() in renderer/copyvertex.inc, FixedToFloat corresponds to
......@@ -73,22 +66,20 @@
// normalized=false and SnormToFloat and UnormToFloat correspond to CopyTo32FVertexData with
// normalized=true. A2BGR10SintToSint, A2BGR10UintToUint, A2BGR10SintToFloat, A2BGR10UintToFloat
// and A2BGR10SnormToFloat correspond to CopyXYZ10W2ToXYZW32FVertexData with the proper options.
// RGB10A2SintToFloat, RGB10A2UintToFloat, RGB10A2SnormToFloat, and RGB10X2UnormToFloat correspond
// to CopyW2XYZ10ToXYZW32FVertexData, and RGB10X2SintToFloat, RGB10UintToFloat,
// RGB10X2SnormToFloat, and RGB10X2UnormToFloat correspond to CopyXYZ10ToXYZW32FVertexData with
// the proper options.
// RGB10A2SintToFloat, RGB10A2UintToFloat and RGB10A2SnormToFloat correspond to
// CopyW2XYZ10ToXYZW32FVertexData. RGB10UintToFloat corresponds to CopyXYZ10ToXYZW32FVertexData
// with the proper options.
#version 450 core
// Source type
#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat || RGB10A2SintToFloat || \
RGB10X2SintToFloat
#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat || RGB10A2SintToFloat
#define SrcType int
#elif UintToUint || UintToFloat || A2BGR10UintToUint || A2BGR10UintToFloat || \
RGB10A2UintToFloat || RGB10X2UintToFloat
RGB10A2UintToFloat
#define SrcType uint
#elif SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat || A2BGR10SnormToFloat || \
RGB10A2SnormToFloat || RGB10A2UnormToFloat || RGB10X2SnormToFloat || RGB10X2UnormToFloat
RGB10A2SnormToFloat || RGB10A2UnormToFloat
#define SrcType float
#else
#error "Not all conversions are accounted for"
......@@ -103,8 +94,7 @@
#define IsDestFloat 0
#elif SintToFloat || UintToFloat || SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat || \
A2BGR10SintToFloat || A2BGR10UintToFloat || A2BGR10SnormToFloat || \
RGB10A2SintToFloat || RGB10A2UintToFloat || RGB10A2SnormToFloat || RGB10A2UnormToFloat || \
RGB10X2SintToFloat || RGB10X2UintToFloat || RGB10X2SnormToFloat || RGB10X2UnormToFloat
RGB10A2SintToFloat || RGB10A2UintToFloat || RGB10A2SnormToFloat || RGB10A2UnormToFloat
#define DestType float
#define IsDestFloat 1
#else
......@@ -222,13 +212,11 @@ SrcType loadSourceComponent(uint cd)
uint component = cd % Nd;
// Fill the alpha channel with 1.0f in case of the source format doesn't have an alpha channel
// For all other components fill in 0
#if !(RGB10X2SintToFloat || RGB10X2UintToFloat || RGB10X2SnormToFloat || RGB10X2UnormToFloat)
if (component >= Ns)
// For all other components fill in 0.
if (component >= Ns && component < 3)
{
return 0;
}
#endif
// Load the source component
uint offset = getSourceComponentOffset(vertex, component);
......@@ -239,8 +227,7 @@ SrcType loadSourceComponent(uint cd)
uint valueBits = component == 3 ? 2 : 10;
uint shiftBits = 10 * component;
uint valueMask = component == 3 ? 0x03 : 0x3FF;
#elif RGB10A2SintToFloat || RGB10A2UintToFloat || RGB10A2SnormToFloat || RGB10A2UnormToFloat || \
RGB10X2SintToFloat || RGB10X2UintToFloat || RGB10X2SnormToFloat || RGB10X2UnormToFloat
#elif RGB10A2SintToFloat || RGB10A2UintToFloat || RGB10A2SnormToFloat || RGB10A2UnormToFloat
uint valueBits = component == 3 ? 2 : 10;
// channel order is reversed
uint shiftBits = component == 3 ? 0 : (valueBits * (2 - component) + 2);
......@@ -251,18 +238,37 @@ SrcType loadSourceComponent(uint cd)
uint valueMask = valueBits == 32 ? -1 : (1 << valueBits) - 1;
#endif
// When alpha channel is dummy, fill it with 1.0f
#if RGB10X2SintToFloat || RGB10X2UintToFloat || RGB10X2SnormToFloat
uint valueAsUint = component == 3 ? 0x01 : (block >> shiftBits) & valueMask;
#elif RGB10X2UnormToFloat
uint valueAsUint = component == 3 ? 0x03 : (block >> shiftBits) & valueMask;
uint valueAsUint;
if (component >= Ns && component == 3)
{
// See GLES3.0 section 2.9.1 Transferring Array Elements
#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat || RGB10A2SintToFloat || \
UintToUint || UintToFloat || A2BGR10UintToUint || A2BGR10UintToFloat || RGB10A2UintToFloat
// For integers, alpha should take a value of 1.
valueAsUint = 1;
#elif SnormToFloat || A2BGR10SnormToFloat || RGB10A2SnormToFloat
// The largest signed number is 0b011...1 which is valueMask >> 1
valueAsUint = valueMask >> 1;
#elif UnormToFloat || RGB10A2UnormToFloat
// The largest unsigned number is 0b11...1 which is valueMask
valueAsUint = valueMask;
#elif FixedToFloat
// 1.0 in fixed point is 0x10000
valueAsUint = 0x10000;
#elif FloatToFloat
valueAsUint = floatBitsToUint(1.0);
#else
uint valueAsUint = (block >> shiftBits) & valueMask;
#error "Not all conversions are accounted for"
#endif
}
else
{
valueAsUint = (block >> shiftBits) & valueMask;
}
// Convert to SrcType
#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat || RGB10A2SintToFloat \
|| RGB10X2SintToFloat
#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat || RGB10A2SintToFloat
if (valueBits < 32)
{
bool isNegative = (valueAsUint & (1 << (valueBits - 1))) != 0;
......@@ -273,10 +279,9 @@ SrcType loadSourceComponent(uint cd)
valueAsUint |= signExtension;
}
SrcType value = SrcType(valueAsUint);
#elif UintToUint || UintToFloat || A2BGR10UintToUint || A2BGR10UintToFloat || RGB10A2UintToFloat \
|| RGB10X2UintToFloat
#elif UintToUint || UintToFloat || A2BGR10UintToUint || A2BGR10UintToFloat || RGB10A2UintToFloat
SrcType value = valueAsUint;
#elif SnormToFloat || A2BGR10SnormToFloat || RGB10A2SnormToFloat || RGB10X2SnormToFloat
#elif SnormToFloat || A2BGR10SnormToFloat || RGB10A2SnormToFloat
if (valueBits < 32)
{
bool isNegative = (valueAsUint & (1 << (valueBits - 1))) != 0;
......@@ -286,7 +291,7 @@ SrcType loadSourceComponent(uint cd)
int valueAsInt = int(valueAsUint);
SrcType value = float(valueAsInt) / (valueMask >> 1);
value = max(value, float(-1));
#elif UnormToFloat || RGB10A2UnormToFloat || RGB10X2UnormToFloat
#elif UnormToFloat || RGB10A2UnormToFloat
float positiveMax = valueMask;
// Scale [0, P] to [0, 1]
SrcType value = valueAsUint / positiveMax;
......@@ -344,21 +349,17 @@ void storeDestinationComponents(uint valueAsUint)
void main()
{
#if !IsAligned
if (gl_GlobalInvocationID.x >= params.outputCount)
return;
#endif // IsAligned
uint valueOut = 0;
for (uint i = 0; i < Ed; ++i)
{
uint cd = gl_GlobalInvocationID.x * Ed + i;
#if !IsAligned
if (cd >= params.componentCount)
{
break;
}
#endif
SrcType srcValue = loadSourceComponent(cd);
DestType destValue = convertComponent(srcValue);
......
......@@ -6,9 +6,6 @@
"",
"ConvertVertex.comp.json: Build parameters for ConvertVertex.comp."
],
"Flags": [
"IsAligned"
],
"Conversion": [
"SintToSint",
"UintToUint",
......@@ -26,11 +23,7 @@
"RGB10A2SintToFloat",
"RGB10A2UintToFloat",
"RGB10A2SnormToFloat",
"RGB10A2UnormToFloat",
"RGB10X2SintToFloat",
"RGB10X2UintToFloat",
"RGB10X2SnormToFloat",
"RGB10X2UnormToFloat"
"RGB10A2UnormToFloat"
]
}
......@@ -80,31 +80,6 @@ namespace
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000011.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000012.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000013.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000014.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000015.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000016.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000017.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000018.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000019.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001A.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001B.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001C.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001D.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001E.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000001F.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000020.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000021.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000022.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000023.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000024.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000025.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000026.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000027.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000028.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000029.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc"
......@@ -243,31 +218,6 @@ constexpr ShaderBlob kConvertVertex_comp_shaders[] = {
{kConvertVertex_comp_0000000E, sizeof(kConvertVertex_comp_0000000E)},
{kConvertVertex_comp_0000000F, sizeof(kConvertVertex_comp_0000000F)},
{kConvertVertex_comp_00000010, sizeof(kConvertVertex_comp_00000010)},
{kConvertVertex_comp_00000011, sizeof(kConvertVertex_comp_00000011)},
{kConvertVertex_comp_00000012, sizeof(kConvertVertex_comp_00000012)},
{kConvertVertex_comp_00000013, sizeof(kConvertVertex_comp_00000013)},
{kConvertVertex_comp_00000014, sizeof(kConvertVertex_comp_00000014)},
{kConvertVertex_comp_00000015, sizeof(kConvertVertex_comp_00000015)},
{kConvertVertex_comp_00000016, sizeof(kConvertVertex_comp_00000016)},
{kConvertVertex_comp_00000017, sizeof(kConvertVertex_comp_00000017)},
{kConvertVertex_comp_00000018, sizeof(kConvertVertex_comp_00000018)},
{kConvertVertex_comp_00000019, sizeof(kConvertVertex_comp_00000019)},
{kConvertVertex_comp_0000001A, sizeof(kConvertVertex_comp_0000001A)},
{kConvertVertex_comp_0000001B, sizeof(kConvertVertex_comp_0000001B)},
{kConvertVertex_comp_0000001C, sizeof(kConvertVertex_comp_0000001C)},
{kConvertVertex_comp_0000001D, sizeof(kConvertVertex_comp_0000001D)},
{kConvertVertex_comp_0000001E, sizeof(kConvertVertex_comp_0000001E)},
{kConvertVertex_comp_0000001F, sizeof(kConvertVertex_comp_0000001F)},
{kConvertVertex_comp_00000020, sizeof(kConvertVertex_comp_00000020)},
{kConvertVertex_comp_00000021, sizeof(kConvertVertex_comp_00000021)},
{kConvertVertex_comp_00000022, sizeof(kConvertVertex_comp_00000022)},
{kConvertVertex_comp_00000023, sizeof(kConvertVertex_comp_00000023)},
{kConvertVertex_comp_00000024, sizeof(kConvertVertex_comp_00000024)},
{kConvertVertex_comp_00000025, sizeof(kConvertVertex_comp_00000025)},
{kConvertVertex_comp_00000026, sizeof(kConvertVertex_comp_00000026)},
{kConvertVertex_comp_00000027, sizeof(kConvertVertex_comp_00000027)},
{kConvertVertex_comp_00000028, sizeof(kConvertVertex_comp_00000028)},
{kConvertVertex_comp_00000029, sizeof(kConvertVertex_comp_00000029)},
};
constexpr ShaderBlob kFullScreenQuad_vert_shaders[] = {
{kFullScreenQuad_vert_00000000, sizeof(kFullScreenQuad_vert_00000000)},
......
......@@ -73,31 +73,6 @@ angle_vulkan_internal_shaders = [
"shaders/gen/ConvertVertex.comp.0000000E.inc",
"shaders/gen/ConvertVertex.comp.0000000F.inc",
"shaders/gen/ConvertVertex.comp.00000010.inc",
"shaders/gen/ConvertVertex.comp.00000011.inc",
"shaders/gen/ConvertVertex.comp.00000012.inc",
"shaders/gen/ConvertVertex.comp.00000013.inc",
"shaders/gen/ConvertVertex.comp.00000014.inc",
"shaders/gen/ConvertVertex.comp.00000015.inc",
"shaders/gen/ConvertVertex.comp.00000016.inc",
"shaders/gen/ConvertVertex.comp.00000017.inc",
"shaders/gen/ConvertVertex.comp.00000018.inc",
"shaders/gen/ConvertVertex.comp.00000019.inc",
"shaders/gen/ConvertVertex.comp.0000001A.inc",
"shaders/gen/ConvertVertex.comp.0000001B.inc",
"shaders/gen/ConvertVertex.comp.0000001C.inc",
"shaders/gen/ConvertVertex.comp.0000001D.inc",
"shaders/gen/ConvertVertex.comp.0000001E.inc",
"shaders/gen/ConvertVertex.comp.0000001F.inc",
"shaders/gen/ConvertVertex.comp.00000020.inc",
"shaders/gen/ConvertVertex.comp.00000021.inc",
"shaders/gen/ConvertVertex.comp.00000022.inc",
"shaders/gen/ConvertVertex.comp.00000023.inc",
"shaders/gen/ConvertVertex.comp.00000024.inc",
"shaders/gen/ConvertVertex.comp.00000025.inc",
"shaders/gen/ConvertVertex.comp.00000026.inc",
"shaders/gen/ConvertVertex.comp.00000027.inc",
"shaders/gen/ConvertVertex.comp.00000028.inc",
"shaders/gen/ConvertVertex.comp.00000029.inc",
"shaders/gen/FullScreenQuad.vert.00000000.inc",
"shaders/gen/ImageClear.frag.00000000.inc",
"shaders/gen/ImageClear.frag.00000001.inc",
......
......@@ -94,35 +94,27 @@ constexpr size_t kArrayLen = 0x00000001;
namespace ConvertVertex_comp
{
enum flags
{
kIsAligned = 0x00000001,
};
enum Conversion
{
kSintToSint = 0x00000000,
kUintToUint = 0x00000002,
kSintToFloat = 0x00000004,
kUintToFloat = 0x00000006,
kSnormToFloat = 0x00000008,
kUnormToFloat = 0x0000000A,
kFixedToFloat = 0x0000000C,
kFloatToFloat = 0x0000000E,
kA2BGR10SintToSint = 0x00000010,
kA2BGR10UintToUint = 0x00000012,
kA2BGR10SintToFloat = 0x00000014,
kA2BGR10UintToFloat = 0x00000016,
kA2BGR10SnormToFloat = 0x00000018,
kRGB10A2SintToFloat = 0x0000001A,
kRGB10A2UintToFloat = 0x0000001C,
kRGB10A2SnormToFloat = 0x0000001E,
kRGB10A2UnormToFloat = 0x00000020,
kRGB10X2SintToFloat = 0x00000022,
kRGB10X2UintToFloat = 0x00000024,
kRGB10X2SnormToFloat = 0x00000026,
kRGB10X2UnormToFloat = 0x00000028,
kUintToUint = 0x00000001,
kSintToFloat = 0x00000002,
kUintToFloat = 0x00000003,
kSnormToFloat = 0x00000004,
kUnormToFloat = 0x00000005,
kFixedToFloat = 0x00000006,
kFloatToFloat = 0x00000007,
kA2BGR10SintToSint = 0x00000008,
kA2BGR10UintToUint = 0x00000009,
kA2BGR10SintToFloat = 0x0000000A,
kA2BGR10UintToFloat = 0x0000000B,
kA2BGR10SnormToFloat = 0x0000000C,
kRGB10A2SintToFloat = 0x0000000D,
kRGB10A2UintToFloat = 0x0000000E,
kRGB10A2SnormToFloat = 0x0000000F,
kRGB10A2UnormToFloat = 0x00000010,
};
constexpr size_t kArrayLen = 0x0000002A;
constexpr size_t kArrayLen = 0x00000011;
} // namespace ConvertVertex_comp
namespace FullScreenQuad_vert
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment