forked from mirror/vulkan-zig
Compare commits
4 Commits
fix-window
...
zig-0.13-c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5559cccea6 | ||
|
|
84b9622f92 | ||
|
|
a6e228cd9f | ||
|
|
fc700b44c0 |
@@ -29,7 +29,7 @@ const preamble =
|
|||||||
// Note: Keep in sync with flag_functions
|
// Note: Keep in sync with flag_functions
|
||||||
\\pub fn FlagsMixin(comptime FlagsType: type) type {
|
\\pub fn FlagsMixin(comptime FlagsType: type) type {
|
||||||
\\ return struct {
|
\\ return struct {
|
||||||
\\ pub const IntType = @typeInfo(FlagsType).@"struct".backing_integer.?;
|
\\ pub const IntType = @typeInfo(FlagsType).Struct.backing_integer.?;
|
||||||
\\ pub fn toInt(self: FlagsType) IntType {
|
\\ pub fn toInt(self: FlagsType) IntType {
|
||||||
\\ return @bitCast(self);
|
\\ return @bitCast(self);
|
||||||
\\ }
|
\\ }
|
||||||
@@ -123,7 +123,7 @@ const command_flags_mixin =
|
|||||||
\\ pub fn merge(lhs: CommandFlags, rhs: CommandFlags) CommandFlags {
|
\\ pub fn merge(lhs: CommandFlags, rhs: CommandFlags) CommandFlags {
|
||||||
\\ var result: CommandFlags = .{};
|
\\ var result: CommandFlags = .{};
|
||||||
\\ @setEvalBranchQuota(10_000);
|
\\ @setEvalBranchQuota(10_000);
|
||||||
\\ inline for (@typeInfo(CommandFlags).@"struct".fields) |field| {
|
\\ inline for (@typeInfo(CommandFlags).Struct.fields) |field| {
|
||||||
\\ @field(result, field.name) = @field(lhs, field.name) or @field(rhs, field.name);
|
\\ @field(result, field.name) = @field(lhs, field.name) or @field(rhs, field.name);
|
||||||
\\ }
|
\\ }
|
||||||
\\ return result;
|
\\ return result;
|
||||||
@@ -131,7 +131,7 @@ const command_flags_mixin =
|
|||||||
\\ pub fn intersect(lhs: CommandFlags, rhs: CommandFlags) CommandFlags {
|
\\ pub fn intersect(lhs: CommandFlags, rhs: CommandFlags) CommandFlags {
|
||||||
\\ var result: CommandFlags = .{};
|
\\ var result: CommandFlags = .{};
|
||||||
\\ @setEvalBranchQuota(10_000);
|
\\ @setEvalBranchQuota(10_000);
|
||||||
\\ inline for (@typeInfo(CommandFlags).@"struct".fields) |field| {
|
\\ inline for (@typeInfo(CommandFlags).Struct.fields) |field| {
|
||||||
\\ @field(result, field.name) = @field(lhs, field.name) and @field(rhs, field.name);
|
\\ @field(result, field.name) = @field(lhs, field.name) and @field(rhs, field.name);
|
||||||
\\ }
|
\\ }
|
||||||
\\ return result;
|
\\ return result;
|
||||||
@@ -139,7 +139,7 @@ const command_flags_mixin =
|
|||||||
\\ pub fn complement(self: CommandFlags) CommandFlags {
|
\\ pub fn complement(self: CommandFlags) CommandFlags {
|
||||||
\\ var result: CommandFlags = .{};
|
\\ var result: CommandFlags = .{};
|
||||||
\\ @setEvalBranchQuota(10_000);
|
\\ @setEvalBranchQuota(10_000);
|
||||||
\\ inline for (@typeInfo(CommandFlags).@"struct".fields) |field| {
|
\\ inline for (@typeInfo(CommandFlags).Struct.fields) |field| {
|
||||||
\\ @field(result, field.name) = !@field(self, field.name);
|
\\ @field(result, field.name) = !@field(self, field.name);
|
||||||
\\ }
|
\\ }
|
||||||
\\ return result;
|
\\ return result;
|
||||||
@@ -147,14 +147,14 @@ const command_flags_mixin =
|
|||||||
\\ pub fn subtract(lhs: CommandFlags, rhs: CommandFlags) CommandFlags {
|
\\ pub fn subtract(lhs: CommandFlags, rhs: CommandFlags) CommandFlags {
|
||||||
\\ var result: CommandFlags = .{};
|
\\ var result: CommandFlags = .{};
|
||||||
\\ @setEvalBranchQuota(10_000);
|
\\ @setEvalBranchQuota(10_000);
|
||||||
\\ inline for (@typeInfo(CommandFlags).@"struct".fields) |field| {
|
\\ inline for (@typeInfo(CommandFlags).Struct.fields) |field| {
|
||||||
\\ @field(result, field.name) = @field(lhs, field.name) and !@field(rhs, field.name);
|
\\ @field(result, field.name) = @field(lhs, field.name) and !@field(rhs, field.name);
|
||||||
\\ }
|
\\ }
|
||||||
\\ return result;
|
\\ return result;
|
||||||
\\ }
|
\\ }
|
||||||
\\ pub fn contains(lhs: CommandFlags, rhs: CommandFlags) bool {
|
\\ pub fn contains(lhs: CommandFlags, rhs: CommandFlags) bool {
|
||||||
\\ @setEvalBranchQuota(10_000);
|
\\ @setEvalBranchQuota(10_000);
|
||||||
\\ inline for (@typeInfo(CommandFlags).@"struct".fields) |field| {
|
\\ inline for (@typeInfo(CommandFlags).Struct.fields) |field| {
|
||||||
\\ if (!@field(lhs, field.name) and @field(rhs, field.name)) {
|
\\ if (!@field(lhs, field.name) and @field(rhs, field.name)) {
|
||||||
\\ return false;
|
\\ return false;
|
||||||
\\ }
|
\\ }
|
||||||
@@ -1440,14 +1440,14 @@ fn Renderer(comptime WriterType: type) type {
|
|||||||
\\ const Type = std.builtin.Type;
|
\\ const Type = std.builtin.Type;
|
||||||
\\ const fields_len = fields_len: {{
|
\\ const fields_len = fields_len: {{
|
||||||
\\ var fields_len: u32 = 0;
|
\\ var fields_len: u32 = 0;
|
||||||
\\ for (@typeInfo({0s}CommandFlags).@"struct".fields) |field| {{
|
\\ for (@typeInfo({0s}CommandFlags).Struct.fields) |field| {{
|
||||||
\\ fields_len += @intCast(@intFromBool(@field(commands, field.name)));
|
\\ fields_len += @intCast(@intFromBool(@field(commands, field.name)));
|
||||||
\\ }}
|
\\ }}
|
||||||
\\ break :fields_len fields_len;
|
\\ break :fields_len fields_len;
|
||||||
\\ }};
|
\\ }};
|
||||||
\\ var fields: [fields_len]Type.StructField = undefined;
|
\\ var fields: [fields_len]Type.StructField = undefined;
|
||||||
\\ var i: usize = 0;
|
\\ var i: usize = 0;
|
||||||
\\ for (@typeInfo({0s}CommandFlags).@"struct".fields) |field| {{
|
\\ for (@typeInfo({0s}CommandFlags).Struct.fields) |field| {{
|
||||||
\\ if (@field(commands, field.name)) {{
|
\\ if (@field(commands, field.name)) {{
|
||||||
\\ const field_tag = std.enums.nameCast(std.meta.FieldEnum({0s}CommandFlags), field.name);
|
\\ const field_tag = std.enums.nameCast(std.meta.FieldEnum({0s}CommandFlags), field.name);
|
||||||
\\ const PfnType = {0s}CommandFlags.CmdType(field_tag);
|
\\ const PfnType = {0s}CommandFlags.CmdType(field_tag);
|
||||||
@@ -1462,7 +1462,7 @@ fn Renderer(comptime WriterType: type) type {
|
|||||||
\\ }}
|
\\ }}
|
||||||
\\ }}
|
\\ }}
|
||||||
\\ break :blk @Type(.{{
|
\\ break :blk @Type(.{{
|
||||||
\\ .@"struct" = .{{
|
\\ .Struct = .{{
|
||||||
\\ .layout = .auto,
|
\\ .layout = .auto,
|
||||||
\\ .fields = &fields,
|
\\ .fields = &fields,
|
||||||
\\ .decls = &[_]std.builtin.Type.Declaration{{}},
|
\\ .decls = &[_]std.builtin.Type.Declaration{{}},
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ pub const StdVideoEncodeH265ReferenceListsInfo = u32;
|
|||||||
pub const StdVideoEncodeH265SliceSegmentHeaderFlags = u32;
|
pub const StdVideoEncodeH265SliceSegmentHeaderFlags = u32;
|
||||||
pub const StdVideoEncodeH265ReferenceInfoFlags = u32;
|
pub const StdVideoEncodeH265ReferenceInfoFlags = u32;
|
||||||
pub const StdVideoEncodeH265ReferenceModificationFlags = u32;
|
pub const StdVideoEncodeH265ReferenceModificationFlags = u32;
|
||||||
|
pub const StdVideoEncodeAV1OperatingPointInfo = u32;
|
||||||
|
|
||||||
comptime {
|
comptime {
|
||||||
@setEvalBranchQuota(1000000);
|
@setEvalBranchQuota(1000000);
|
||||||
@@ -99,13 +100,13 @@ comptime {
|
|||||||
|
|
||||||
fn reallyRefAllDecls(comptime T: type) void {
|
fn reallyRefAllDecls(comptime T: type) void {
|
||||||
switch (@typeInfo(T)) {
|
switch (@typeInfo(T)) {
|
||||||
.@"struct", .@"union" => {
|
.Struct, .Union => {
|
||||||
reallyRefAllContainerDecls(T);
|
reallyRefAllContainerDecls(T);
|
||||||
inline for (std.meta.fields(T)) |field| {
|
inline for (std.meta.fields(T)) |field| {
|
||||||
reallyRefAllDecls(field.type);
|
reallyRefAllDecls(field.type);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
.@"enum", .@"opaque" => {
|
.Enum, .Opaque => {
|
||||||
reallyRefAllContainerDecls(T);
|
reallyRefAllContainerDecls(T);
|
||||||
},
|
},
|
||||||
else => {},
|
else => {},
|
||||||
|
|||||||
Reference in New Issue
Block a user