Hash :
7c985f5c
Author :
Date :
2018-11-29T18:16:17
Make angle::Result an enum. This moves away from a class type to a value type. This should improve performance when using angle::Result as a return value. Previously the generated code would return a pointer instead of a value. Improves performance in the most targeted microbenchmark by 10%. In more realistic scanarios it will have a smaller improvement. Also simplifies the class implementation and usage. Includes some unrelated code generation changes. Bug: angleproject:2491 Change-Id: Ifcf86870bf1c00a2f73c39ea6e4f05ca705050aa Reviewed-on: https://chromium-review.googlesource.com/c/1356139 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
// 7.11.3009
#pragma once
const uint32_t kBufferUtils_comp_00000007[] = {
0x07230203,0x00010000,0x00080007,0x00000036,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000014,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00050005,
0x00000008,0x74736564,0x65646e49,0x00000078,0x00060005,0x0000000b,0x68737550,0x736e6f43,
0x746e6174,0x00000073,0x00060006,0x0000000b,0x00000000,0x74736564,0x7366664f,0x00007465,
0x00050006,0x0000000b,0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000b,0x00000002,
0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000b,0x00000003,0x64646170,0x00676e69,
0x00060006,0x0000000b,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,0x0000000d,
0x61726170,0x0000736d,0x00080005,0x00000014,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
0x496e6f69,0x00000044,0x00050005,0x0000001b,0x49637273,0x7865646e,0x00000000,0x00050005,
0x00000024,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000028,0x00637273,0x00040005,
0x0000002f,0x74736564,0x00000000,0x00050048,0x0000000b,0x00000000,0x00000023,0x00000000,
0x00050048,0x0000000b,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000b,0x00000002,
0x00000023,0x00000008,0x00050048,0x0000000b,0x00000003,0x00000023,0x0000000c,0x00050048,
0x0000000b,0x00000004,0x00000023,0x00000010,0x00030047,0x0000000b,0x00000002,0x00040047,
0x00000014,0x0000000b,0x0000001c,0x00040047,0x00000028,0x00000022,0x00000000,0x00040047,
0x00000028,0x00000021,0x00000001,0x00040047,0x0000002f,0x00000022,0x00000000,0x00040047,
0x0000002f,0x00000021,0x00000000,0x00030047,0x0000002f,0x00000019,0x00040047,0x00000035,
0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,0x00000007,0x00000006,0x00040015,
0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000006,0x00000004,0x0007001e,
0x0000000b,0x00000009,0x00000009,0x00000009,0x00000009,0x0000000a,0x00040020,0x0000000c,
0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x0004002b,0x00000006,
0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000009,0x00000009,0x00040017,0x00000012,
0x00000009,0x00000003,0x00040020,0x00000013,0x00000001,0x00000012,0x0004003b,0x00000013,
0x00000014,0x00000001,0x0004002b,0x00000009,0x00000015,0x00000000,0x00040020,0x00000016,
0x00000001,0x00000009,0x0004002b,0x00000006,0x0000001c,0x00000002,0x00040020,0x00000023,
0x00000007,0x0000000a,0x00090019,0x00000025,0x00000006,0x00000005,0x00000000,0x00000000,
0x00000000,0x00000001,0x00000000,0x0003001b,0x00000026,0x00000025,0x00040020,0x00000027,
0x00000000,0x00000026,0x0004003b,0x00000027,0x00000028,0x00000000,0x00090019,0x0000002d,
0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000015,0x00040020,
0x0000002e,0x00000000,0x0000002d,0x0004003b,0x0000002e,0x0000002f,0x00000000,0x0004002b,
0x00000009,0x00000033,0x00000040,0x0004002b,0x00000009,0x00000034,0x00000001,0x0006002c,
0x00000012,0x00000035,0x00000033,0x00000034,0x00000034,0x00050036,0x00000002,0x00000004,
0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,
0x0004003b,0x00000007,0x0000001b,0x00000007,0x0004003b,0x00000023,0x00000024,0x00000007,
0x00050041,0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,
0x00000010,0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,
0x00000018,0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,
0x00000006,0x0000001a,0x00000019,0x0003003e,0x00000008,0x0000001a,0x00050041,0x0000000f,
0x0000001d,0x0000000d,0x0000001c,0x0004003d,0x00000009,0x0000001e,0x0000001d,0x00050041,
0x00000016,0x0000001f,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000020,0x0000001f,
0x00050080,0x00000009,0x00000021,0x0000001e,0x00000020,0x0004007c,0x00000006,0x00000022,
0x00000021,0x0003003e,0x0000001b,0x00000022,0x0004003d,0x00000026,0x00000029,0x00000028,
0x0004003d,0x00000006,0x0000002a,0x0000001b,0x00040064,0x00000025,0x0000002b,0x00000029,
0x0005005f,0x0000000a,0x0000002c,0x0000002b,0x0000002a,0x0003003e,0x00000024,0x0000002c,
0x0004003d,0x0000002d,0x00000030,0x0000002f,0x0004003d,0x00000006,0x00000031,0x00000008,
0x0004003d,0x0000000a,0x00000032,0x00000024,0x00040063,0x00000030,0x00000031,0x00000032,
0x000100fd,0x00010038
};
#if 0 // Generated from:
#version 450 core
layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
layout(set = 0, binding = 0, rgba32i)uniform writeonly iimageBuffer dest;
layout(set = 0, binding = 1)uniform isamplerBuffer src;
layout(push_constant)uniform PushConstants
{
uint destOffset;
uint size;
uint srcOffset;
uint padding;
ivec4 clearValue;
} params;
void main()
{
int destIndex = int(params . destOffset . x + gl_GlobalInvocationID . x);
int srcIndex = int(params . srcOffset . x + gl_GlobalInvocationID . x);
ivec4 srcValue = texelFetch(src, srcIndex);
imageStore(dest, destIndex, srcValue);
}
#endif // Preprocessed code