From 7bb45e7df07a8039fc69350a8cda2e3f8014f858 Mon Sep 17 00:00:00 2001 From: Christopher Milan Date: Fri, 6 Feb 2026 16:05:40 -0800 Subject: [PATCH 01/22] decompose fp8 to bigger floats [skip_process_replay] (#14554) * decompose fp8 also * it works * cleanup * no shift required * default to float * cleanup * fixes * fp8e5m2 * don't rely on behavior comparing nans * cleanup --- test/test_dtype.py | 21 ++++++ test/test_dtype_alu.py | 42 ++++++++--- tinygrad/codegen/__init__.py | 12 ++-- tinygrad/uop/decompositions.py | 125 +++++++++++++++++++-------------- 4 files changed, 133 insertions(+), 67 deletions(-) diff --git a/test/test_dtype.py b/test/test_dtype.py index 6f5022a7a3..3fb4b1b5cc 100644 --- a/test/test_dtype.py +++ b/test/test_dtype.py @@ -381,8 +381,29 @@ class TestBoolDType(TestDType): DTYPE = dtypes.bool class TestBFloat16Type(TestDType): DTYPE = dtypes.bfloat16 class TestFp8e4m3(TestDType): DTYPE = dtypes.fp8e4m3 + +class TestEmulatedFp8e4m3(TestFp8e4m3): + @classmethod + def setUpClass(cls): + cls.stack = contextlib.ExitStack() + cls.stack.enter_context(Context(EMULATED_DTYPES="fp8e4m3")) + cls.DATA = rand_for_dtype(cls.DTYPE, 10) + + @classmethod + def tearDownClass(cls): cls.stack.close() + class TestFp8e5m2(TestDType): DTYPE = dtypes.fp8e5m2 +class TestEmulatedFp8e5m2(TestFp8e5m2): + @classmethod + def setUpClass(cls): + cls.stack = contextlib.ExitStack() + cls.stack.enter_context(Context(EMULATED_DTYPES="fp8e5m2")) + cls.DATA = rand_for_dtype(cls.DTYPE, 10) + + @classmethod + def tearDownClass(cls): cls.stack.close() + class TestPtrDType(unittest.TestCase): def test_vec_double(self): dt1 = dtypes.float.vec(4).ptr().vec(4) diff --git a/test/test_dtype_alu.py b/test/test_dtype_alu.py index 813948ccdd..50a273d6fd 100644 --- a/test/test_dtype_alu.py +++ b/test/test_dtype_alu.py @@ -1,6 +1,6 @@ import unittest, operator, math from tinygrad import Context, Tensor, dtypes, Device -from tinygrad.dtype import DType, truncate +from tinygrad.dtype import DType, truncate, fp8_to_float from tinygrad.helpers import CI, EMULATED_DTYPES, getenv from tinygrad.tensor import _to_np_dtype from tinygrad.device import is_dtype_supported @@ -59,9 +59,10 @@ def universal_test(a, b, dtype, op): # lt and max with nan is undefined in tinygrad if op[0] in (operator.lt, Tensor.maximum) and (math.isnan(a) or math.isnan(b)): return ta, tb = Tensor([a], dtype=dtype), Tensor([b], dtype=dtype) - tensor_value = (op[0](ta, tb)).numpy() - numpy_value = op[1](ta.numpy(), tb.numpy()) - if dtype in dtypes.fp8s: numpy_value = truncate[dtype](numpy_value.item()) + if dtype in dtypes.fp8s and op[0] not in (operator.lt, operator.eq): + tensor_value = fp8_to_float((op[0](ta.realize(), tb.realize())).bitcast(dtypes.uint8).item(), dtype) + numpy_value = truncate[dtype](op[1](ta.numpy(), tb.numpy()).item()) + else: tensor_value, numpy_value = (op[0](ta, tb)).numpy(), op[1](ta.numpy(), tb.numpy()) if dtype in dtypes.floats: if not is_dtype_supported(dtype) or dtype in EMULATED_DTYPES.tolist(dtypes): # denormals are zero fe, fm = dtypes.finfo(dtype) @@ -76,13 +77,14 @@ def universal_test_unary(a, dtype, op): # TODO: cos does not match for large input if op[0] == Tensor.cos and abs(a) > 30: return if op[0] == Tensor.log and a <= 0: return - out: Tensor = op[0](ta) - tensor_value = out.numpy() - numpy_value = op[1](ta.numpy()) if dtype in dtypes.fp8s: + # normals are zero + if dtype in EMULATED_DTYPES.tolist(dtypes) and abs(ta.numpy().item()) < 0.015625: return + tensor_value = fp8_to_float(op[0](ta.realize()).bitcast(dtypes.uint8).item(), dtype) + numpy_value = truncate[dtype](v:=op[1](ta.numpy()).item()) # cuda cast f32 inf to f8 MAX, amd cast it to nan(E4M3)/inf(E5M2) - if math.isinf(numpy_value.item()): return - numpy_value = truncate[dtype](numpy_value.item()) + if math.isinf(v): return + else: tensor_value, numpy_value = op[0](ta).numpy(), op[1](ta.numpy()) if dtype in dtypes.floats: atol, rtol = { dtypes.float16:(1e-3, 1e-2), dtypes.bfloat16:(1e-3, 2e-2), dtypes.fp8e4m3:(1e-1, 1e-1), dtypes.fp8e5m2: (1.0, 5e-1)}.get(dtype, (1e-6, 1e-5)) @@ -133,11 +135,21 @@ class TestDTypeALU(unittest.TestCase): def test_fp8e4m3(self, a, b, op): universal_test(from_storage_scalar(a, dtypes.fp8e4m3), from_storage_scalar(b, dtypes.fp8e4m3), dtypes.fp8e4m3, op) + @given(ht.fp8e4m3, ht.fp8e4m3, strat.sampled_from(binary_operations)) + @Context(EMULATED_DTYPES="fp8e4m3") + def test_emulated_fp8e4m3(self, a, b, op): + universal_test(from_storage_scalar(a, dtypes.fp8e4m3), from_storage_scalar(b, dtypes.fp8e4m3), dtypes.fp8e4m3, op) + @unittest.skipUnless(is_dtype_supported(dtypes.fp8e5m2), f"no fp8e5m2 on {Device.DEFAULT}") @given(ht.fp8e5m2, ht.fp8e5m2, strat.sampled_from(binary_operations)) def test_fp8e5m2(self, a, b, op): universal_test(from_storage_scalar(a, dtypes.fp8e5m2), from_storage_scalar(b, dtypes.fp8e5m2), dtypes.fp8e5m2, op) + @given(ht.fp8e5m2, ht.fp8e5m2, strat.sampled_from(binary_operations)) + @Context(EMULATED_DTYPES="fp8e5m2") + def test_emulated_fp8e5m2(self, a, b, op): + universal_test(from_storage_scalar(a, dtypes.fp8e5m2), from_storage_scalar(b, dtypes.fp8e5m2), dtypes.fp8e5m2, op) + @given(ht.float32, strat.sampled_from(unary_operations)) def test_float32_unary(self, a, op): universal_test_unary(a, dtypes.float32, op) @@ -159,12 +171,24 @@ class TestDTypeALU(unittest.TestCase): if op[1] == np.reciprocal: assume(from_storage_scalar(a, dtype=dtypes.fp8e4m3) != 0.0) universal_test_unary(from_storage_scalar(a, dtype=dtypes.fp8e4m3), dtypes.fp8e4m3, op) + @given(ht.fp8e4m3, strat.sampled_from(unary_operations)) + @Context(EMULATED_DTYPES="fp8e4m3") + def test_emulated_fp8e4m3_unary(self, a, op): + if op[1] == np.reciprocal: assume(from_storage_scalar(a, dtype=dtypes.fp8e4m3) != 0.0) + universal_test_unary(from_storage_scalar(a, dtype=dtypes.fp8e4m3), dtypes.fp8e4m3, op) + @unittest.skipUnless(is_dtype_supported(dtypes.fp8e5m2), f"no fp8e5m2 on {Device.DEFAULT}") @given(ht.fp8e5m2, strat.sampled_from(unary_operations)) def test_fp8e5m2_unary(self, a, op): if op[1] == np.reciprocal: assume(from_storage_scalar(a, dtype=dtypes.fp8e5m2) != 0.0) universal_test_unary(from_storage_scalar(a, dtype=dtypes.fp8e5m2), dtypes.fp8e5m2, op) + @given(ht.fp8e5m2, strat.sampled_from(unary_operations)) + @Context(EMULATED_DTYPES="fp8e5m2") + def test_emulated_fp8e5m2_unary(self, a, op): + if op[1] == np.reciprocal: assume(from_storage_scalar(a, dtype=dtypes.fp8e5m2) != 0.0) + universal_test_unary(from_storage_scalar(a, dtype=dtypes.fp8e5m2), dtypes.fp8e5m2, op) + @given(ht.uint8, ht.uint8, strat.sampled_from(integer_binary_operations)) def test_uint8(self, a, b, op): universal_test(a, b, dtypes.uint8, op) diff --git a/tinygrad/codegen/__init__.py b/tinygrad/codegen/__init__.py index 707cfc24ba..37d64a616b 100644 --- a/tinygrad/codegen/__init__.py +++ b/tinygrad/codegen/__init__.py @@ -5,14 +5,15 @@ from tinygrad.helpers import DISABLE_FAST_IDIV, EMULATED_DTYPES, DEVECTORIZE, TR from tinygrad.uop.ops import PatternMatcher, graph_rewrite, UOp, pm_lower_index_dtype, Ops, UPat, track_rewrites, KernelInfo, pyrender from tinygrad.uop.spec import type_verify, program_spec, kernel_spec from tinygrad.renderer import Renderer, ProgramSpec -from tinygrad.dtype import dtypes +from tinygrad.dtype import dtypes, promo_lattice +from tinygrad.device import is_dtype_supported from tinygrad.helpers import panic from tinygrad.codegen.opt import Opt # import all pattern matchers here from tinygrad.codegen.gpudims import pm_add_gpudims from tinygrad.uop.symbolic import sym, symbolic_simple, gep_pushing, symbolic, pm_move_where_on_load -from tinygrad.uop.decompositions import get_late_rewrite_patterns, get_unsupported_dtypes_patterns, get_transcendental_patterns +from tinygrad.uop.decompositions import get_late_rewrite_patterns, get_transcendental_patterns, pm_float_decomp, pm_long_decomp from tinygrad.codegen.late.expander import expander, pm_pre_expander, pm_group_for_reduce from tinygrad.codegen.late.devectorizer import load_store_folding, load_store_indexing, devectorize, pm_reduce, \ ReduceContext, correct_load_store, pm_render, pm_add_loads @@ -88,10 +89,13 @@ def full_rewrite_to_sink(sink:UOp, ren:Renderer|None=None, optimize:bool=True) - # decompositions supported_ops = tuple(ren.code_for_op.keys()) pm_decomp = symbolic_simple+get_late_rewrite_patterns(supported_ops, ren.device, bool(DISABLE_FAST_IDIV)) - pm_unsupported = get_unsupported_dtypes_patterns(ren.device, tuple(EMULATED_DTYPES.tolist(dtypes))) pm_transcendental = symbolic_simple+get_transcendental_patterns(supported_ops, TRANSCENDENTAL>=2) sink = graph_rewrite(sink, pm_decomp, ctx=ren.device, name="decompositions") - sink = graph_rewrite(sink, pm_unsupported, ctx=ren.device, name="unsupported dtypes", bottom_up=True) + if not is_dtype_supported(dtypes.long, ren.device) or dtypes.long in EMULATED_DTYPES.tolist(dtypes): + sink = graph_rewrite(sink, pm_long_decomp, name="decomp long -> int", bottom_up=True) + for fr, to in [(fr, next((to for to in promo_lattice[fr] if is_dtype_supported(to, ren.device)), dtypes.float)) + for fr in EMULATED_DTYPES.tolist(dtypes) if fr in dtypes.floats]: + sink = graph_rewrite(sink, pm_float_decomp, ctx=(fr, to), name=f"decomp {fr} -> {to}", bottom_up=True) sink = graph_rewrite(sink, pm_transcendental, ctx=ren.device, name="transcendental") # final rules for the renderer (without sym) diff --git a/tinygrad/uop/decompositions.py b/tinygrad/uop/decompositions.py index 9629c9eae4..1689f45ab8 100644 --- a/tinygrad/uop/decompositions.py +++ b/tinygrad/uop/decompositions.py @@ -14,8 +14,8 @@ def _lazy_map_numbers(x:UOp, inf:UOp, _inf:UOp, nan:UOp, ratio:UOp): # *** helper functions for bit manipulation *** def mantissa_bits(d:DType) -> int: return dtypes.finfo(d.scalar())[1] -def exponent_bias(d:DType) -> int: return {dtypes.float64: 1023, dtypes.float32: 127, dtypes.float16: 15}[d.scalar()] -def exponent_mask(d:DType) -> int: return {dtypes.float64: 2047, dtypes.float32: 255, dtypes.float16: 31}[d.scalar()] +def exponent_bias(d:DType) -> int: return (1 << (dtypes.finfo(d.scalar())[0] - 1)) - 1 +def exponent_mask(d:DType) -> int: return (1 << dtypes.finfo(d.scalar())[0]) - 1 # **** utils **** def shr(x:UOp|int, y:UOp|int) -> UOp: return x // (2**(y.simplify().arg) if isinstance(y, UOp) else 2**y) @@ -378,33 +378,46 @@ def l2i(op: Ops, dt: DType, *uops:UOp): case _: raise NotImplementedError(f"long decomposition of {op} unsupported") # ***** floats ***** -f2f_dt = { dtypes.half: dtypes.ushort, dtypes.float: dtypes.uint } +f2f_dt = { f:getattr(dtypes, f"uint{f.bitsize}") for f in dtypes.floats } def rne(v: UOp, s) -> UOp: return shr(v, s) + ((shr(v, s - 1) & 1) & ((v & ((1 << (s - 1)) - 1)).ne(0).cast(v.dtype) | (shr(v, s) & 1))) def f2f(v, fr:DType, to:DType): fs, fb, (fe, fm), ts, tb, (te, tm) = fr.bitsize, exponent_bias(fr), dtypes.finfo(fr), to.bitsize, exponent_bias(to), dtypes.finfo(to) # NB: denormals are zero! - if fe < te and fm < tm: + if fe <= te and fm < tm: sign, nosign = shl((v & shl(1, fs-1)).cast(f2f_dt[to]), ts - fs), (v & (shl(1, fs-1) - 1)).cast(f2f_dt[to]) exp, norm = shr(nosign, fm), shl(nosign, tm - fm) + shl(tb - fb, tm) - inf_or_nan = shl(nosign, tm - fm) | shl((shl(1, te) - 1), tm) - return (sign | exp.eq(0).where(0, exp.eq(shl(1, fe) - 1).where(inf_or_nan, norm))).bitcast(to) - elif fe > te and fm > tm: - sign, nosign, exp = shr(v, fs - ts) & shl(1, ts - 1), v & (shl(1, fs - 1) - 1), shr(v, fm) & (shl(1, fe) - 1) + nan = shl(nosign, tm - fm) | shl((shl(1, te) - 1), tm) + # fp8e4m3 has only one nan + is_nan = (nosign.eq(shl(1, fm + fe) - 1) if fr == dtypes.fp8e4m3 else exp.eq(shl(1, fe) - 1)) + return (sign | exp.eq(0).where(0, is_nan.where(nan, norm))).bitcast(to) + elif fe >= te and fm > tm: + v = f2f_clamp(v.bitcast(fr), to).bitcast(f2f_dt[fr]) + sign, nosign = shr(v, fs - ts) & shl(1, ts - 1), v & (shl(1, fs - 1) - 1) norm = (rne(nosign, fm - tm) - shl(fb - tb, tm)).cast(f2f_dt[to]) - infnan = (sign | (shr(nosign, fm - tm) & (shl(1, tm) - 1)) | shl(shl(1, te) - 1, tm)).cast(f2f_dt[to]) - underflow, overflow = exp < (1 + fb - tb), exp > (shl(1, te) - 2 + (fb - tb)) - return exp.eq(shl(1, fe) - 1).where(infnan, sign.cast(f2f_dt[to]) | underflow.where(0, overflow.where(shl(shl(1, te) - 1, tm), norm))) + underflow = (shr(v, fm) & (shl(1, fe) - 1)) < (1 + fb - tb) + nan_mantissa = (shl(1, tm) - 1) if to == dtypes.fp8e4m3 else (shr(nosign, fm - tm) & (shl(1, tm) - 1)) + nan = (sign | nan_mantissa | shl(shl(1, te) - 1, tm)).cast(f2f_dt[to]) + is_nan = (shr(v, fm) & (shl(1, fe) - 1)).eq(shl(1, fe) - 1) + return is_nan.where(nan, sign.cast(f2f_dt[to]) | underflow.where(0, norm)) else: raise NotImplementedError(f"unsupported decomp {fr} -> {to}") -def f2f_load(x: UOp) -> UOp: - if (n:=x.dtype.count) == 1: return f2f(x.replace(dtype=dtypes.ushort), dtypes.half, dtypes.float) - return UOp.vectorize(*(f2f(x.replace(dtype=dtypes.ushort, src=(reindex(x.src[0].src[0], i, 1),)), dtypes.half, dtypes.float) for i in range(n))) +def f2f_clamp(val:UOp, dt:DType) -> UOp: + e, m = dtypes.finfo(dt) + max_exp, max_man = ((1 << e) - 1, (1 << m) - 2) if dt == dtypes.fp8e4m3 else ((1 << e) - 2, (1 << m) - 1) + mx = val.const_like(2.0**(max_exp - exponent_bias(dt)) * (1.0 + max_man / (1 << m))) + sat = mx if dt in dtypes.fp8s else val.const_like(float('inf')) + # FIXME: CMPLT of nan is undefined + return val.ne(val).where(val, (val < -mx).where(-sat, (mx < val).where(sat, val))) -def f2f_store(st, idx, val): - if (n:=val.dtype.count) == 1: return st.replace(src=(idx, f2f(val.bitcast(dtypes.uint), dtypes.float, dtypes.half))) - return UOp.group(*(st.replace(src=(reindex(idx, i, 1), f2f(val.gep(i).bitcast(dtypes.uint), dtypes.float, dtypes.half))) for i in range(n))) +def f2f_load(x: UOp, fr:DType, to:DType) -> UOp: + if (n:=x.dtype.count) == 1: return f2f(x.replace(dtype=f2f_dt[fr]), fr, to) + return UOp.vectorize(*(f2f(x.replace(dtype=f2f_dt[fr], src=(reindex(x.src[0].src[0], i, 1),)), fr, to) for i in range(n))) + +def f2f_store(st, idx, val, fr:DType, to:DType): + if (n:=val.dtype.count) == 1: return st.replace(src=(idx, f2f(val.bitcast(f2f_dt[to]), to, fr))) + return UOp.group(*(st.replace(src=(reindex(idx, i, 1), f2f(val.gep(i).bitcast(f2f_dt[to]), to, fr))) for i in range(n))) # ***** decomposition patterns ***** @@ -463,40 +476,44 @@ def get_late_rewrite_patterns(ops:tuple[Ops, ...], device:str, disable_fast_idiv pat += [(UPat.var("a", dtypes.floats) * UPat.const(dtypes.floats, 1).alu(Ops.FDIV, UPat.var("b")), lambda a,b: a.alu(Ops.FDIV, b))] return PatternMatcher(pat) -@functools.cache -def get_unsupported_dtypes_patterns(device:str, emulated_dtypes:tuple[DType, ...]) -> PatternMatcher: - pat: list[tuple[UPat, Callable]] = [] - if not is_dtype_supported(dtypes.long, device) or dtypes.long in emulated_dtypes: - pat += [(UPat((*GroupOp.Defines, Ops.INDEX), name="x"), lambda x: - x.replace(dtype=l2i_dt[x.dtype.base].ptr(x.dtype.size * 2)) if hasattr(x.dtype, 'size') and x.dtype.base in l2i_dt else None)] - pat += [(UPat(Ops.INDEX, tuple(l2i_dt.keys()), name='x'), lambda x: reindex(x, x.tag).replace(dtype=l2i_dt[x.dtype]))] - pat += [(UPat(Ops.STORE, src=(UPat.var('idx'), UPat.var('val', tuple(l2i_dt.keys()))), name='st'), lambda st,idx,val: - st.replace(src=(reindex(idx, 0), val.rtag(0))).group(st.replace(src=(reindex(idx, 1), val.rtag(1)))) if val.tag is None else None)] - pat += [(UPat(GroupOp.Comparison, src=(UPat.var('a', tuple(l2i_dt.keys())), UPat.var('b', tuple(l2i_dt.keys()))), name="x"), lambda a,b,x: - l2i(x.op, dt:=l2i_dt[a.dtype], a.rtag(0).cast(dt), a.rtag(1).cast(dt), b.rtag(0).cast(dt), b.rtag(1).cast(dt)))] - pat += [(UPat(Ops.CAST, tuple(l2i_dt.keys()), src=(UPat.var('a'),), name="x"), lambda a,x: - l2i(x.op, x.dtype, a)[x.tag] if x.tag is not None and a.dtype not in l2i_dt else None)] - pat += [(UPat(Ops.CAST, tuple(l2i_dt.keys()), src=(UPat.var('a', tuple(l2i_dt.keys())),), name="x"), lambda a,x: - (a.rtag(0).cast(dt:=l2i_dt[a.dtype]).bitcast(xdt:=l2i_dt[x.dtype]), a.rtag(1).cast(dt).bitcast(xdt))[x.tag])] - pat += [(UPat(Ops.CAST, src=(UPat.var('a', tuple(l2i_dt.keys())),), name="x"), lambda a,x: - l2i(x.op, x.dtype, a.rtag(0).cast(dt:=l2i_dt[a.dtype]), a.rtag(1).cast(dt)) if x.dtype not in l2i_dt and a.tag is None else None)] - pat += [(UPat((*(GroupOp.ALU - GroupOp.Comparison), Ops.BITCAST), tuple(l2i_dt.keys()), name="x"), lambda x: - l2i(x.op, l2i_dt[x.dtype], *flatten((a.rtag(0).cast(dt:=l2i_dt[x.src[-1].dtype]), a.rtag(1).cast(dt)) - if a.dtype in l2i_dt else (a,) for a in x.src))[x.tag])] - pat += [(UPat(Ops.LOAD, tuple(l2i_dt.keys()), src=(UPat.var('idx'),), name='x'), lambda x,idx: - x.replace(dtype=l2i_dt[x.dtype], src=(reindex(idx, x.tag),)))] - pat += [(UPat(Ops.CONST, tuple(l2i_dt.keys()), name='x'), lambda x: - UOp.const(dt:=l2i_dt[x.dtype], truncate[dt]((x.arg >> 32) if x.tag == 1 else (x.arg & 0xFFFFFFFF))))] - if dtypes.half in emulated_dtypes: - pat += [(UPat((*GroupOp.Defines, Ops.INDEX), name="x"), lambda x: - x.replace(dtype=dtypes.uint16.ptr(x.dtype.size), tag=dtypes.half) if x.dtype.base == dtypes.half else None)] - pat += [(UPat(Ops.LOAD, dtypes.half, name="x"), f2f_load)] - pat += [(UPat(Ops.BITCAST, src=(UPat(Ops.LOAD, dtypes.half, name="ld"),), name="bc"), lambda bc,ld: - ld.replace(dtype=dtypes.ushort).bitcast(bc.dtype))] - pat += [(UPat(Ops.BITCAST, (dtypes.ushort, dtypes.short, dtypes.bfloat16), src=(UPat.var("x", dtypes.float),), name="bc"), lambda bc,x: - bc.replace(src=(f2f(x.bitcast(dtypes.uint), dtypes.float, dtypes.half),)))] - pat += [(UPat(GroupOp.All, dtypes.half, name="x"), lambda x: - x.replace(dtype=dtypes.float.vec(x.dtype.count), src=tuple(s.cast(dtypes.float) if s.dtype == dtypes.half else s for s in x.src)))] - pat += [(UPat(Ops.STORE, src=(UPat.var("idx"), UPat.var("val", dtypes.float)), name='st'), lambda st,idx,val: - f2f_store(st, idx, val) if (idx:=idx.src[0] if idx.op == Ops.CAST else idx).tag == dtypes.half else None)] - return PatternMatcher(pat) +pm_long_decomp = PatternMatcher([ + (UPat((*GroupOp.Defines, Ops.INDEX), name="x"), lambda x: + x.replace(dtype=l2i_dt[x.dtype.base].ptr(x.dtype.size * 2)) if hasattr(x.dtype, 'size') and x.dtype.base in l2i_dt else None), + (UPat(Ops.INDEX, tuple(l2i_dt.keys()), name='x'), lambda x: reindex(x, x.tag).replace(dtype=l2i_dt[x.dtype])), + (UPat(Ops.STORE, src=(UPat.var('idx'), UPat.var('val', tuple(l2i_dt.keys()))), name='st'), lambda st,idx,val: + st.replace(src=(reindex(idx, 0), val.rtag(0))).group(st.replace(src=(reindex(idx, 1), val.rtag(1)))) if val.tag is None else None), + (UPat(GroupOp.Comparison, src=(UPat.var('a', tuple(l2i_dt.keys())), UPat.var('b', tuple(l2i_dt.keys()))), name="x"), lambda a,b,x: + l2i(x.op, dt:=l2i_dt[a.dtype], a.rtag(0).cast(dt), a.rtag(1).cast(dt), b.rtag(0).cast(dt), b.rtag(1).cast(dt))), + (UPat(Ops.CAST, tuple(l2i_dt.keys()), src=(UPat.var('a'),), name="x"), lambda a,x: + l2i(x.op, x.dtype, a)[x.tag] if x.tag is not None and a.dtype not in l2i_dt else None), + (UPat(Ops.CAST, tuple(l2i_dt.keys()), src=(UPat.var('a', tuple(l2i_dt.keys())),), name="x"), lambda a,x: + (a.rtag(0).cast(dt:=l2i_dt[a.dtype]).bitcast(xdt:=l2i_dt[x.dtype]), a.rtag(1).cast(dt).bitcast(xdt))[x.tag]), + (UPat(Ops.CAST, src=(UPat.var('a', tuple(l2i_dt.keys())),), name="x"), lambda a,x: + l2i(x.op, x.dtype, a.rtag(0).cast(dt:=l2i_dt[a.dtype]), a.rtag(1).cast(dt)) if x.dtype not in l2i_dt and a.tag is None else None), + (UPat((*(GroupOp.ALU - GroupOp.Comparison), Ops.BITCAST), tuple(l2i_dt.keys()), name="x"), lambda x: + l2i(x.op, l2i_dt[x.dtype], *flatten((a.rtag(0).cast(dt:=l2i_dt[x.src[-1].dtype]), a.rtag(1).cast(dt)) + if a.dtype in l2i_dt else (a,) for a in x.src))[x.tag]), + (UPat(Ops.LOAD, tuple(l2i_dt.keys()), src=(UPat.var('idx'),), name='x'), lambda x,idx: x.replace(dtype=l2i_dt[x.dtype],src=(reindex(idx, x.tag),))), + (UPat(Ops.CONST, tuple(l2i_dt.keys()), name='x'), lambda x: + UOp.const(dt:=l2i_dt[x.dtype], truncate[dt]((x.arg >> 32) if x.tag == 1 else (x.arg & 0xFFFFFFFF)))) +]) + +# float decomposition patterns - ctx is (fr, to) tuple +pm_float_decomp = PatternMatcher([ + (UPat((*GroupOp.Defines, Ops.INDEX), name="x"), lambda ctx,x: + x.replace(dtype=f2f_dt[ctx[0]].ptr(x.dtype.size), tag=ctx[0]) if x.dtype.base == ctx[0] else None), + (UPat(Ops.LOAD, dtypes.floats, name="x"), lambda ctx,x: f2f_load(x, *ctx) if x.dtype.scalar() == ctx[0] else None), + (UPat(Ops.BITCAST, src=(UPat(Ops.LOAD, name="ld"),), name="bc"), lambda ctx,bc,ld: + ld.replace(dtype=f2f_dt[ctx[0]]).bitcast(bc.dtype) if ld.dtype.bitsize == ctx[0].bitsize else None), + (UPat(Ops.BITCAST, src=(UPat.var("x", dtypes.floats),), name="bc"), lambda ctx,bc,x: + bc.replace(src=(f2f(x.bitcast(f2f_dt[ctx[1]]), ctx[1], ctx[0]),)) if x.dtype == ctx[1] and bc.dtype.bitsize == ctx[0].bitsize else None), + (UPat(Ops.CAST, dtypes.floats, src=(UPat.var("val"),), name="x"), lambda ctx,x,val: + f2f_clamp(val.cast(ctx[1]), ctx[0]) if x.dtype.scalar() == ctx[0] else None), + (UPat(GroupOp.All-{Ops.BITCAST}, dtypes.floats, name="x"), lambda ctx,x: + x.replace(dtype=ctx[1].vec(x.dtype.count), src=tuple(s.cast(ctx[1]) if s.dtype == ctx[0] else s for s in x.src)) + if x.dtype.scalar() == ctx[0] else None), + (UPat(Ops.STORE, src=(UPat.var("idx"), UPat(Ops.BITCAST, dtypes.floats, name="val")), name='st'), lambda ctx,st,idx,val: + st.replace(src=(idx, val.replace(dtype=f2f_dt[ctx[0]]))) if val.dtype == ctx[0] and idx.tag == ctx[0] else None), + (UPat(Ops.STORE, src=(UPat.var("idx"), UPat.var("val", dtypes.floats)), name='st'), lambda ctx,st,idx,val: + f2f_store(st, idx, val, *ctx) if val.dtype.scalar() == ctx[1] and (idx:=idx.src[0] if idx.op == Ops.CAST else idx).tag == ctx[0] else None), +]) From ad9e2f0de7c8ad60ad7c031a553a64911d8e3939 Mon Sep 17 00:00:00 2001 From: Christopher Milan Date: Fri, 6 Feb 2026 16:24:09 -0800 Subject: [PATCH 02/22] decompose bf16 (#14601) --- test/test_dtype.py | 10 ++++++++++ test/test_dtype_alu.py | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/test/test_dtype.py b/test/test_dtype.py index 3fb4b1b5cc..e3c9dbac8d 100644 --- a/test/test_dtype.py +++ b/test/test_dtype.py @@ -380,6 +380,16 @@ class TestBoolDType(TestDType): DTYPE = dtypes.bool class TestBFloat16Type(TestDType): DTYPE = dtypes.bfloat16 +class TestEmulatedBFloat16Type(TestBFloat16Type): + @classmethod + def setUpClass(cls): + cls.stack = contextlib.ExitStack() + cls.stack.enter_context(Context(EMULATED_DTYPES="bfloat16")) + cls.DATA = rand_for_dtype(cls.DTYPE, 10) + + @classmethod + def tearDownClass(cls): cls.stack.close() + class TestFp8e4m3(TestDType): DTYPE = dtypes.fp8e4m3 class TestEmulatedFp8e4m3(TestFp8e4m3): diff --git a/test/test_dtype_alu.py b/test/test_dtype_alu.py index 50a273d6fd..8d532c7f18 100644 --- a/test/test_dtype_alu.py +++ b/test/test_dtype_alu.py @@ -130,6 +130,11 @@ class TestDTypeALU(unittest.TestCase): def test_bfloat16(self, a, b, op): universal_test(from_storage_scalar(a, dtypes.bfloat16), from_storage_scalar(a, dtypes.bfloat16), dtypes.bfloat16, op) + @given(ht.bfloat16, ht.bfloat16, strat.sampled_from(binary_operations)) + @Context(EMULATED_DTYPES="bfloat16") + def test_emulated_bfloat16(self, a, b, op): + universal_test(from_storage_scalar(a, dtypes.bfloat16), from_storage_scalar(a, dtypes.bfloat16), dtypes.bfloat16, op) + @unittest.skipUnless(is_dtype_supported(dtypes.fp8e4m3), f"no fp8e4m3 on {Device.DEFAULT}") @given(ht.fp8e4m3, ht.fp8e4m3, strat.sampled_from(binary_operations)) def test_fp8e4m3(self, a, b, op): @@ -165,6 +170,10 @@ class TestDTypeALU(unittest.TestCase): @given(ht.bfloat16, strat.sampled_from(unary_operations)) def test_bfloat16_unary(self, a, op): universal_test_unary(from_storage_scalar(a, dtypes.bfloat16), dtypes.bfloat16, op) + @given(ht.bfloat16, strat.sampled_from(unary_operations)) + @Context(EMULATED_DTYPES="bfloat16") + def test_emulated_bfloat16_unary(self, a, op): universal_test_unary(from_storage_scalar(a, dtypes.bfloat16), dtypes.bfloat16, op) + @unittest.skipUnless(is_dtype_supported(dtypes.fp8e4m3), f"no fp8e4m3 on {Device.DEFAULT}") @given(ht.fp8e4m3, strat.sampled_from(unary_operations)) def test_fp8e4m3_unary(self, a, op): From d5652e4da2ab3cd2b1b8665b3bfd14be826392bc Mon Sep 17 00:00:00 2001 From: ttomsa Date: Sat, 7 Feb 2026 00:53:35 +0000 Subject: [PATCH 03/22] new dtype aliases (#14596) --- tinygrad/dtype.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tinygrad/dtype.py b/tinygrad/dtype.py index 8ddbe36f30..0026f15aa7 100644 --- a/tinygrad/dtype.py +++ b/tinygrad/dtype.py @@ -211,6 +211,10 @@ class dtypes: fp8s = (fp8e4m3, fp8e5m2) floats = fp8s + (float16, bfloat16, float32, float64) + int8s = (uint8, int8) + int16s = (uint16, int16) + int32s = (uint32, int32) + int64s = (uint64, int64) uints = (uint8, uint16, uint32, uint64) sints = (int8, int16, int32, int64) ints = uints + sints From 462b4555620500cb52f34c23d1461c8c09d2ec3c Mon Sep 17 00:00:00 2001 From: ttomsa Date: Sat, 7 Feb 2026 00:54:02 +0000 Subject: [PATCH 04/22] cleanup linearize (#14523) --- tinygrad/codegen/late/linearizer.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tinygrad/codegen/late/linearizer.py b/tinygrad/codegen/late/linearizer.py index 2c1b034e76..de96bba04f 100644 --- a/tinygrad/codegen/late/linearizer.py +++ b/tinygrad/codegen/late/linearizer.py @@ -7,17 +7,13 @@ from tinygrad.helpers import prod, getenv, TUPLE_ORDER def linearize(sink:UOp) -> list[UOp]: # this is a toposort with priority lst = list(sink.toposort()) - consumers: defaultdict[UOp, list[UOp]] = defaultdict(list) - in_degree:dict[UOp, int] = {} - out_degree:dict[UOp, int] = {} + out_degree:defaultdict[UOp, int] = defaultdict(int) priorities:dict[UOp, tuple[int, int, Any]] = {} # get consumers and assign priorities # NOTE: this requires the lst be locally toposorted for u in reversed(lst): - for s in u.src: consumers[s].append(u) - in_degree[u] = len(u.src) - out_degree[u] = len(consumers[u]) + for s in u.src: out_degree[s] += 1 # we place UOps with higher run_counts later run_count = prod([int(r.vmax)+1 for r in u.ranges]) From d87ae1c84c72da7ef6b4687c085cacd225ded6b2 Mon Sep 17 00:00:00 2001 From: wozeparrot Date: Fri, 6 Feb 2026 18:00:00 -0800 Subject: [PATCH 05/22] feat: tinyfs load test in benchmark (#14602) --- .github/workflows/benchmark.yml | 2 ++ extra/tinyfs/fetch_file.py | 27 ++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 6a04926377..7d66d4aac8 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -525,6 +525,8 @@ jobs: run: time BENCHMARK_LOG=cifar AMD=1 DEFAULT_FLOAT=HALF STEPS=1000 TARGET_EVAL_ACC_PCT=93.0 python3 examples/hlb_cifar10.py - name: Run full CIFAR training steps w 6 GPUS run: time BENCHMARK_LOG=cifar_6gpu AMD=1 DEFAULT_FLOAT=HALF STEPS=350 BS=1536 GPUS=6 TARGET_EVAL_ACC_PCT=93.0 python3 examples/hlb_cifar10.py + - name: Test full tinyfs load + run: TINYFS_ENDPOINT=10.0.52.11:6767 PYTHONPATH=. python extra/tinyfs/fetch_file.py --hash d734f5e3be9f1e9d863bfaa4fc6c1ef2 --len 175866113 --dest mapping.json --check - name: Run process replay tests run: cp test/external/process_replay/process_replay.py ./process_replay.py && git fetch origin master && git -c advice.detachedHead=false checkout origin/master && PYTHONPATH=. python3 process_replay.py diff --git a/extra/tinyfs/fetch_file.py b/extra/tinyfs/fetch_file.py index 423b8d10bd..fd527c06f6 100644 --- a/extra/tinyfs/fetch_file.py +++ b/extra/tinyfs/fetch_file.py @@ -1,11 +1,36 @@ from tinygrad.tensor import Tensor -import argparse +import argparse, math, hashlib + +def _python_hash_1mb(data:bytes|bytearray): + chunks = [data[i:i+4096] for i in range(0, len(data), 4096)] + chunk_hashes = [hashlib.shake_128(chunk).digest(16) for chunk in chunks] + return hashlib.shake_128(b''.join(chunk_hashes)).digest(16) + +def hash_file(data: bytes|bytearray): + if len(data) % Tensor.CHUNK_SIZE != 0: data += bytes(Tensor.CHUNK_SIZE - len(data) % Tensor.CHUNK_SIZE) + base_chunks = math.ceil(len(data) / Tensor.CHUNK_SIZE) + tree_depth = math.ceil(math.log(base_chunks, Tensor.CHUNK_SIZE // 16)) + + for _ in range(tree_depth + 1): + data_chunks = [data[i:i+Tensor.CHUNK_SIZE] for i in range(0, len(data), Tensor.CHUNK_SIZE)] + data_chunk_hashes = [_python_hash_1mb(chunk) for chunk in data_chunks] + data = b''.join(data_chunk_hashes) + if len(data) % Tensor.CHUNK_SIZE != 0: data += bytes(Tensor.CHUNK_SIZE - len(data) % Tensor.CHUNK_SIZE) + + return data[:16] if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("--hash", type=str, required=True, help="file hash to fetch") parser.add_argument("--len", type=int, required=True, help="file length to fetch") parser.add_argument("--dest", type=str, required=True, help="destination path to save the file") + parser.add_argument("--check", action="store_true", help="verify the file hash after fetching") args = parser.parse_args() Tensor(bytes.fromhex(args.hash), device="CPU").fs_load(args.len).to(f"disk:{args.dest}").realize() + + if args.check: + with open(args.dest, "rb") as f: + data = f.read() + assert hash_file(data) == bytes.fromhex(args.hash), "Hash mismatch after fetching file" + print("File hash verified successfully!") From ca6604eae24a5e4ef1aee5e8c3f13a6512c0eccb Mon Sep 17 00:00:00 2001 From: George Hotz <72895+geohot@users.noreply.github.com> Date: Sat, 7 Feb 2026 10:10:14 +0800 Subject: [PATCH 06/22] kernel is call (#14577) * call is kernel * closer * fix bugs * dedup * pm_gate_kernel_sink * better * Revert "better" This reverts commit b4c799b81032b02b66fa9763d0e9101b5f704a2d. * Reapply "better" This reverts commit e53f094ce78d428c2eba4325b6e96526db1e33ae. * cleanups * work * remove junk * subtle fix * index * viz cleanups * disable assert for now --- test/test_profiler.py | 1 + tinygrad/codegen/__init__.py | 2 +- tinygrad/engine/schedule.py | 14 +++++++------- tinygrad/helpers.py | 4 +++- tinygrad/schedule/indexing.py | 6 +++--- tinygrad/schedule/rangeify.py | 18 +++++++++--------- tinygrad/uop/__init__.py | 3 ++- tinygrad/uop/ops.py | 19 ++++++------------- tinygrad/uop/validate.py | 7 ++++--- tinygrad/viz/serve.py | 8 ++------ 10 files changed, 38 insertions(+), 44 deletions(-) diff --git a/test/test_profiler.py b/test/test_profiler.py index 03cadb434d..07bd7822d3 100644 --- a/test/test_profiler.py +++ b/test/test_profiler.py @@ -212,6 +212,7 @@ class TestProfiler(unittest.TestCase): for ge in graphs: self.assertEqual(len(ge.ents), len(graphs)) + @unittest.skip("this test is flaky") def test_trace_metadata(self): with Context(TRACEMETA=1): a = Tensor.empty(1)+2 diff --git a/tinygrad/codegen/__init__.py b/tinygrad/codegen/__init__.py index 37d64a616b..d41f9c791f 100644 --- a/tinygrad/codegen/__init__.py +++ b/tinygrad/codegen/__init__.py @@ -112,7 +112,7 @@ def full_rewrite_to_sink(sink:UOp, ren:Renderer|None=None, optimize:bool=True) - # inject IF/ENDIF. only needed if device doesn't support gated stores pm_linearize_cleanups = PatternMatcher([ # if statements are not allowed in the graph - (UPat((Ops.IF, Ops.ENDIF)), lambda: panic(RuntimeError("if not allowed in graph"))), + (UPat((Ops.IF, Ops.ENDIF)), lambda: panic(RuntimeError, "if not allowed in graph")), # gated INDEX becomes IF-STORE-ENDIF. this is the only use of IF-ENDIF (UPat(Ops.STORE, name="u", src=(UPat(Ops.INDEX, src=(UPat(), UPat(), UPat(name="gate", dtype=dtypes.bool))).or_casted(), UPat())), lambda u, gate: (u, [mif:=UOp(Ops.IF, src=(gate, u.src[0])), u, UOp(Ops.ENDIF, src=(mif,))])) diff --git a/tinygrad/engine/schedule.py b/tinygrad/engine/schedule.py index 043d2d53ad..d465051250 100644 --- a/tinygrad/engine/schedule.py +++ b/tinygrad/engine/schedule.py @@ -1,7 +1,7 @@ import time from typing import cast from collections import deque -from tinygrad.uop.ops import UOp, Ops, buffers, UOpMetaClass, track_rewrites, PatternMatcher, UPat, graph_rewrite, graph_rewrite_map, Kernel +from tinygrad.uop.ops import UOp, Ops, buffers, UOpMetaClass, track_rewrites, PatternMatcher, UPat, graph_rewrite, graph_rewrite_map, gate_kernel_sink from tinygrad.uop.spec import type_verify, tensor_spec from tinygrad.device import Buffer, MultiBuffer from tinygrad.helpers import DEBUG, cpu_profile, TracingKey, SPEC, flatten, pluralize, SCACHE, Metadata @@ -22,14 +22,14 @@ def create_schedule(sched_sink:UOp) -> tuple[list[ExecItem], UOp]: # build kernel dependency graph: edges from producer kernel to consumer kernels children: dict[UOp, list[UOp]] = {} in_degree: dict[UOp, int] = {} - for u in sched_sink.toposort(): + for u in sched_sink.toposort(gate_kernel_sink): if u.op is Ops.RANGE: in_degree.setdefault(u, 0) if u.op is not Ops.AFTER: continue if (k:=u.src[1]).op is Ops.RANGE: continue # RANGEs are scheduled directly, not through dependency graph assert k.op in {Ops.KERNEL, Ops.END}, f"AFTER src[1] should be KERNEL or END, not {k.op}" in_degree.setdefault(k, 0) if k.op is Ops.END: assert k.src[0].op is Ops.KERNEL, f"END src[0] should be KERNEL, not {k.src[0].op}" - for s in k.src[0].src if k.op is Ops.END else k.src: + for s in k.src[0].src[1:] if k.op is Ops.END else k.src[1:]: match (s := _unwrap_src(s)).op: case Ops.AFTER: children.setdefault(s.src[1], []).append(k) @@ -57,10 +57,10 @@ def create_schedule(sched_sink:UOp) -> tuple[list[ExecItem], UOp]: assert k.op in {Ops.RANGE, Ops.KERNEL}, f"unexpected op in queue: {k.op}" if k.op is Ops.RANGE: schedule.append(k) elif k.op is Ops.KERNEL: - ast = (kernel:=cast(Kernel, k.arg)).ast - buf_uops = tuple(_unwrap_src(s).buf_uop for s in k.src if s.op is not Ops.BIND) - bound_ranges = tuple(s for s in k.src if s.op is Ops.BIND and len(s.src) > 1 and s.src[1].op is Ops.RANGE) - sched_item[k] = (ast, buf_uops, kernel.metadata, bound_ranges) + ast = k.src[0] + buf_uops = tuple(_unwrap_src(s).buf_uop for s in k.src[1:] if s.op is not Ops.BIND) + bound_ranges = tuple(s for s in k.src[1:] if s.op is Ops.BIND and len(s.src) > 1 and s.src[1].op is Ops.RANGE) + sched_item[k] = (ast, buf_uops, k.arg.metadata, bound_ranges) schedule.append(k) if rk.op is Ops.END: schedule.append(rk) for x in children.get(rk, []): diff --git a/tinygrad/helpers.py b/tinygrad/helpers.py index 8242cf581f..78af9d9a31 100644 --- a/tinygrad/helpers.py +++ b/tinygrad/helpers.py @@ -86,7 +86,9 @@ def word_wrap(x, wrap=80): while len(ansistrip(x[:i])) < wrap and i < len(x): i += 1 return x[:i] + "\n" + word_wrap(x[i:], wrap) def pad_bytes(b:bytes, align:int) -> bytes: return b + b'\x00' * ((align - (len(b) % align)) % align) -def panic(e:Exception|None=None): raise e if e is not None else RuntimeError("PANIC!") + +# NOTE: you must create the exception inside the function where it's raised or you will get a GC cycle! +def panic(e:type[Exception]|None=None, *arg): raise e(*arg) if e is not None else RuntimeError("PANIC!") @functools.cache def canonicalize_strides(shape:tuple[T, ...], strides:tuple[T, ...]) -> tuple[T, ...]: diff --git a/tinygrad/schedule/indexing.py b/tinygrad/schedule/indexing.py index ae0191237a..2108b8b4a4 100644 --- a/tinygrad/schedule/indexing.py +++ b/tinygrad/schedule/indexing.py @@ -3,7 +3,7 @@ import functools, itertools from dataclasses import dataclass, field from tinygrad.dtype import dtypes, AddrSpace from tinygrad.uop.ops import PatternMatcher, UPat, Ops, UOp, resolve, GroupOp, graph_rewrite, sint, AxisType, profile_matches -from tinygrad.uop.ops import consumer_map_from_toposort +from tinygrad.uop.ops import consumer_map_from_toposort, gate_kernel_sink, pm_gate_kernel_sink from tinygrad.uop.symbolic import symbolic, pm_simplify_valid, pm_drop_and_clauses from tinygrad.helpers import argsort, all_same, cpu_profile, PCONTIG, colored @@ -17,7 +17,7 @@ def realize_srcs(ctx:dict[UOp, None], rb:UOp) -> None: for s in rb.src: if s.base.op not in ALWAYS_CONTIGUOUS: ctx[s] = None -pm_generate_realize_map = PatternMatcher([ +pm_generate_realize_map = pm_gate_kernel_sink+PatternMatcher([ # always realize SINK src (UPat(Ops.SINK, name="s"), lambda ctx,s: ctx.update((x.base, None) for x in s.src if x.base.op not in ALWAYS_CONTIGUOUS)), # always realize @@ -159,7 +159,7 @@ def run_rangeify(tsink:UOp, debug:bool=False) -> tuple[UOp, IndexingContext]: # get the consumer map with cpu_profile("consumer map in rangeify", "TINY"): - consumer_map = consumer_map_from_toposort(tsink_toposort:=tsink.toposort()) + consumer_map = consumer_map_from_toposort(tsink_toposort:=tsink.toposort(gate_kernel_sink)) # explicit rangeify ending_ranges: dict[UOp, list[UOp]] = {} diff --git a/tinygrad/schedule/rangeify.py b/tinygrad/schedule/rangeify.py index 7acb3cab58..ff5ef67324 100644 --- a/tinygrad/schedule/rangeify.py +++ b/tinygrad/schedule/rangeify.py @@ -1,8 +1,8 @@ from dataclasses import dataclass, field, replace import itertools from tinygrad.dtype import dtypes, PtrDType, ImageDType, AddrSpace -from tinygrad.uop.ops import PatternMatcher, UPat, Ops, UOp, resolve, GroupOp, _substitute, KernelInfo -from tinygrad.uop.ops import graph_rewrite, identity_element, sint, AxisType, BottomUpGate, Kernel, _remove_all_tags, range_str +from tinygrad.uop.ops import PatternMatcher, UPat, Ops, UOp, resolve, GroupOp, _substitute, KernelInfo, pm_gate_kernel_sink +from tinygrad.uop.ops import graph_rewrite, identity_element, sint, AxisType, BottomUpGate, _remove_all_tags, range_str from tinygrad.uop.symbolic import symbolic from tinygrad.helpers import argsort, prod, all_same, getenv, flatten, dedup, all_int, DEBUG, SPLIT_REDUCEOP, DEBUG_RANGEIFY from tinygrad.helpers import PCONTIG, partition, get_single_element @@ -72,7 +72,7 @@ mop_cleanup = PatternMatcher([ def resolve_custom_kernel(ck:UOp) -> UOp: placeholders = [UOp.placeholder_like(s, slot=i) for i,s in enumerate(ck.src)] - return UOp(Ops.KERNEL, src=ck.src, arg=Kernel(ck.arg.fxn(*placeholders))) + return ck.arg.fxn(*placeholders).call(*ck.src) def resolve_call(c:UOp) -> UOp|None: # don't resolve real kernel calls, sink or program @@ -525,10 +525,9 @@ def split_store(ctx:list[UOp], x:UOp) -> UOp|None: else: ret = ret.sink(arg=KernelInfo(opts_to_apply=lctx.opts)) metadata = tuple(dedup(flatten([x for x in metadatas if x is not None])))[::-1] - kernel_arg = Kernel(ret, metadata) - kernel = UOp(Ops.KERNEL, src=tuple(lctx.map.values())+tuple(lctx.vars.keys()), arg=kernel_arg) - if ret.op is Ops.SINK and not all_same([x.device for x in kernel.src if x.op is not Ops.BIND]): - raise RuntimeError(f"all buffers must be on the same device: {tuple(b.buf_uop for b in kernel.src)}") + kernel = ret.call(*lctx.map.values(), *lctx.vars.keys(), metadata=metadata) + if ret.op is Ops.SINK and not all_same([x.device for x in kernel.src[1:] if x.op is not Ops.BIND]): + raise RuntimeError(f"all buffers must be on the same device: {tuple(b.buf_uop for b in kernel.src[1:])}") return kernel split_kernels = PatternMatcher([ @@ -588,8 +587,9 @@ def get_rangeify_map(sink:UOp) -> dict[UOp, UOp]: # bufferize -> store lunique_start: int = max([-1]+[x.arg for x in tsink.toposort() if x.op is Ops.LUNIQUE]) + 1 - tsink = graph_rewrite(tsink, pm_add_buffers+pm_add_range_tags, ctx=itertools.count(lunique_start), bottom_up=True, name="bufferize to store") - tsink = graph_rewrite(tsink, split_kernels, ctx=uop_list, bottom_up=True, name="split kernels") + tsink = graph_rewrite(tsink, pm_gate_kernel_sink+pm_add_buffers+pm_add_range_tags, ctx=itertools.count(lunique_start), bottom_up=True, + name="bufferize to store") + tsink = graph_rewrite(tsink, pm_gate_kernel_sink+split_kernels, ctx=uop_list, bottom_up=True, name="split kernels") # if a kernel depends on a buffer, and that buffer is later assigned to, make the assign depend on the kernel's assign kernel_assign: dict[UOp, UOp] = {} diff --git a/tinygrad/uop/__init__.py b/tinygrad/uop/__init__.py index 56fd7ed08e..fa1328df50 100644 --- a/tinygrad/uop/__init__.py +++ b/tinygrad/uop/__init__.py @@ -79,8 +79,9 @@ class Ops(FastEnum): # ** 6 -- ops that don't exist in programs ** # tensor graph ops - UNIQUE = auto(); DEVICE = auto(); KERNEL = auto(); ASSIGN = auto() + UNIQUE = auto(); DEVICE = auto(); ASSIGN = auto() CUSTOM_KERNEL = auto() + KERNEL = CALL # local unique LUNIQUE = auto() diff --git a/tinygrad/uop/ops.py b/tinygrad/uop/ops.py index 6472a31ac1..8bc5b5d3a0 100644 --- a/tinygrad/uop/ops.py +++ b/tinygrad/uop/ops.py @@ -236,9 +236,6 @@ class UOp(OpMixin, metaclass=UOpMetaClass): case Ops.REDUCE | Ops.MSTACK | Ops.MSELECT | Ops.DETACH | Ops.CONTIGUOUS | Ops.CONTIGUOUS_BACKWARD | Ops.AFTER | Ops.END | Ops.CALL: return self.src[0]._shape - # ops with custom handling - case Ops.KERNEL: return self.arg.ast._shape - # TODO: disallow shape changing bitcast case Ops.BITCAST: ps = self.src[0]._shape @@ -367,9 +364,7 @@ class UOp(OpMixin, metaclass=UOpMetaClass): @recursive_property def trace_num(self): num = next(ucount) - # KERNEL also has a UOp in the arg - arg = type(self.arg)(self.arg.ast.trace_num, self.arg.metadata) if self.op is Ops.KERNEL else self.arg - uop_fields[num] = (self.op, self.dtype, tuple(s.trace_num for s in self.src), arg, self.tag)+((self.metadata,) if TRACEMETA>=2 else ()) + uop_fields[num] = (self.op, self.dtype, tuple(s.trace_num for s in self.src), self.arg, self.tag)+((self.metadata,) if TRACEMETA>=2 else ()) return num # *** uop syntactic sugar *** @@ -823,7 +818,8 @@ class UOp(OpMixin, metaclass=UOpMetaClass): return UOp(Ops.PARAM, dtype, src, arg=slot) def call(self, *srcs:UOp, grad_fxn:Callable|None=None, metadata:tuple[Metadata, ...]=()) -> UOp: - assert len(self.ranges) == 0, f"ranges {self.ranges} are leaking out of the call" + # TODO: reenable this after ENCDEC is fixed + #assert len(self.ranges) == 0, f"ranges {self.ranges} are leaking out of the call in {self.pyrender()}" return UOp(Ops.CALL, self.dtype, (self,)+srcs, CallInfo(grad_fxn, metadata)) def custom_kernel(*srcs:UOp, fxn:Callable, grad_fxn:Callable|None=None) -> list[UOp]: contig_srcs = tuple(x.contiguous() if x.op is not Ops.AFTER else x for x in srcs) @@ -1322,6 +1318,9 @@ def _index_to_concrete_int(u:UOp) -> UOp: return graph_rewrite(u.sink(), pm_lowe _substitute = PatternMatcher([(UPat(tuple(Ops), name="x"), lambda ctx,x: ctx.get(x,None))]) _remove_all_tags = PatternMatcher([(UPat(GroupOp.All, name="x"), lambda x: x.replace(tag=None) if x.tag is not None else None)]) +def gate_kernel_sink(x:UOp) -> bool: return not (x.op is Ops.SINK and isinstance(x.arg, KernelInfo)) +pm_gate_kernel_sink = PatternMatcher([(UPat(Ops.SINK, name="sink"), lambda sink: None if gate_kernel_sink(sink) else panic(BottomUpGate))]) + def do_unbind(ctx:dict[Variable, int], x:UOp): v,i = x.unbind() ctx[v] = i @@ -1419,7 +1418,6 @@ pm_pyrender_extra = PatternMatcher([ # NOTE: you can remove pm_pyrender_extra and it'll still be correct pm_pyrender = pm_pyrender_extra+PatternMatcher([ - (UPat(Ops.KERNEL, name="u"), lambda ctx,u: f"UOp(Ops.KERNEL, src={srcs(ctx,u.src)}, arg=Kernel({ctx[u.arg.ast]}(), {u.arg.metadata}))"), (UPat(GroupOp.All, name="u"), lambda ctx,u: f"UOp({u.op}, {u.dtype}, {srcs(ctx,u.src)}"+(f", {repr(u.arg)})" if u.arg is not None else ")")), ]) @@ -1452,11 +1450,6 @@ def pyrender(ast:UOp) -> str: op_depth = 1 + max([depth[s] for s in u.src], default=0) if op_depth > 100: to_render.add(u) depth[u] = 0 if u in to_render else op_depth - # do the rendering - if u.op is Ops.KERNEL: - if u.arg.ast not in kernels: - kernels[u.arg.ast] = (f"k{len(kernels)}", f"def k{len(kernels)}():\n " + pyrender(u.arg.ast).replace('\n', '\n ') + "\n return ast\n\n") - r[u.arg.ast] = kernels[u.arg.ast][0] ren = cast(str, pm_pyrender.rewrite(u, ctx=r)) assert isinstance(ren, str) if u.tag is not None: ren += f".rtag({repr(u.tag)})" diff --git a/tinygrad/uop/validate.py b/tinygrad/uop/validate.py index ae80f5a831..df9c3af232 100644 --- a/tinygrad/uop/validate.py +++ b/tinygrad/uop/validate.py @@ -25,9 +25,10 @@ z3_renderer = PatternMatcher([ (UPat(Ops.SPECIAL, name="x"), lambda x,ctx: create_bounded(x.arg, 0, ctx[1][x.src[0]]-1, ctx[0])), (UPat(Ops.DEFINE_VAR, name="x"), lambda x,ctx: create_bounded(x.arg[0], x.arg[1], x.arg[2], ctx[0])), (UPat(Ops.RANGE, name="x"), lambda x,ctx: create_bounded(x.render(simplify=False), 0, ctx[1][x.src[0]]-1, ctx[0])), - # loads are variables bounded by the min/max of the dtype - (UPat(Ops.LOAD, dtypes.ints+(dtypes.index,), name="x"), lambda x,ctx: create_bounded(f"load{len(ctx[1])}", x.dtype.min, x.dtype.max, ctx[0])), - (UPat(Ops.LOAD, dtypes.bool, name="x"), lambda x,ctx: (z3.Bool(f"load{len(ctx[1])}", ctx=ctx[0]), None)), + # loads are variables bounded by the min/max of the dtype. non-pointer INDEX is also a LOAD + (UPat((Ops.LOAD, Ops.INDEX), dtypes.ints+(dtypes.index,), name="x"), lambda x,ctx: + create_bounded(f"load{len(ctx[1])}", x.dtype.min, x.dtype.max, ctx[0])), + (UPat((Ops.LOAD, Ops.INDEX), dtypes.bool, name="x"), lambda x,ctx: (z3.Bool(f"load{len(ctx[1])}", ctx=ctx[0]), None)), # constants (UPat(Ops.CONST, arg=Invalid, name="x"), lambda x,ctx: (z3.Int("Invalid", ctx=ctx[0]), None)), (UPat(Ops.CONST, dtypes.ints+(dtypes.index,), name="x"), lambda x,ctx: (z3.IntVal(x.arg, ctx=ctx[0]), None)), diff --git a/tinygrad/viz/serve.py b/tinygrad/viz/serve.py index 9eb5e18698..4f2bf8cdf0 100755 --- a/tinygrad/viz/serve.py +++ b/tinygrad/viz/serve.py @@ -45,7 +45,7 @@ from tinygrad.dtype import dtypes uops_colors = {Ops.LOAD: "#ffc0c0", Ops.STORE: "#87CEEB", Ops.CONST: "#e0e0e0", Ops.VCONST: "#e0e0e0", Ops.REDUCE: "#FF5B5B", Ops.PARAM:"#cb9037", **{x:"#f2cb91" for x in {Ops.DEFINE_LOCAL, Ops.DEFINE_REG}}, Ops.REDUCE_AXIS: "#FF6B6B", Ops.RANGE: "#c8a0e0", Ops.ASSIGN: "#909090", Ops.BARRIER: "#ff8080", Ops.IF: "#c8b0c0", Ops.SPECIAL: "#c0c0ff", - Ops.INDEX: "#cef263", Ops.WMMA: "#efefc0", Ops.MULTI: "#f6ccff", Ops.KERNEL: "#3e7f55", Ops.CUSTOM_KERNEL: "#3ebf55", + Ops.INDEX: "#cef263", Ops.WMMA: "#efefc0", Ops.MULTI: "#f6ccff", Ops.CUSTOM_KERNEL: "#3ebf55", **{x:"#D8F9E4" for x in GroupOp.Movement}, **{x:"#ffffc0" for x in GroupOp.ALU}, Ops.THREEFRY:"#ffff80", Ops.BUFFER_VIEW: "#E5EAFF", Ops.BUFFER: "#B0BDFF", Ops.COPY: "#a040a0", Ops.ENCDEC: "#bf71b6", Ops.CALL: "#00B7C8", Ops.PARAM: "#14686F", @@ -106,9 +106,6 @@ def uop_to_json(x:UOp) -> dict[int, dict]: if u in excluded: continue argst = codecs.decode(str(u.arg), "unicode_escape") if u.op in GroupOp.Movement: argst = (mask_to_str if u.op in {Ops.SHRINK, Ops.PAD} else shape_to_str)(u.marg) - if u.op is Ops.KERNEL: - ast_str = f"SINK{tuple(s.op for s in u.arg.ast.src)}" if u.arg.ast.op is Ops.SINK else repr(u.arg.ast.op) - argst = f"" if u.op is Ops.BINARY: argst = f"<{len(u.arg)} bytes>" label = f"{str(u.op).split('.')[1]}{(chr(10)+word_wrap(argst.replace(':', ''))) if u.arg is not None else ''}" if u.dtype != dtypes.void: label += f"\n{u.dtype}" @@ -130,7 +127,7 @@ def uop_to_json(x:UOp) -> dict[int, dict]: label += "\n"+' '.join([f"{range_str(s, color=True)}({s.vmax+1})" for s in trngs]) except Exception: label += "\n" - if (ref:=ref_map.get(u.arg.ast) if u.op is Ops.KERNEL else None) is not None: label += f"\ncodegen@{ctxs[ref]['name']}" + if (ref:=ref_map.get(u.src[0]) if u.op is Ops.KERNEL else None) is not None: label += f"\ncodegen@{ctxs[ref]['name']}" # NOTE: kernel already has metadata in arg if TRACEMETA >= 2 and u.metadata is not None and u.op is not Ops.KERNEL: label += "\n"+str(u.metadata) graph[id(u)] = {"label":label, "src":[(i,id(x)) for i,x in enumerate(u.src) if x not in excluded], "color":uops_colors.get(u.op, "#ffffff"), @@ -140,7 +137,6 @@ def uop_to_json(x:UOp) -> dict[int, dict]: @functools.cache def _reconstruct(a:int): op, dtype, src, arg, *rest = trace.uop_fields[a] - arg = type(arg)(_reconstruct(arg.ast), arg.metadata) if op is Ops.KERNEL else arg return UOp(op, dtype, tuple(_reconstruct(s) for s in src), arg, *rest) def get_full_rewrite(ctx:TrackedGraphRewrite) -> Generator[GraphRewriteDetails, None, None]: From 7a2a3b5c71f0b823eb157aa76690021d6eca0d57 Mon Sep 17 00:00:00 2001 From: George Hotz <72895+geohot@users.noreply.github.com> Date: Sat, 7 Feb 2026 10:21:54 +0800 Subject: [PATCH 07/22] Remove Ops.KERNEL, it's all Ops.CALL now (#14603) --- test/external/process_replay/process_replay.py | 2 +- test/test_schedule.py | 2 +- tinygrad/engine/schedule.py | 10 +++++----- tinygrad/schedule/indexing.py | 6 +++--- tinygrad/schedule/rangeify.py | 4 ++-- tinygrad/uop/__init__.py | 1 - tinygrad/uop/ops.py | 2 +- tinygrad/uop/spec.py | 4 ++-- tinygrad/uop/symbolic.py | 2 +- tinygrad/viz/serve.py | 4 ++-- 10 files changed, 18 insertions(+), 19 deletions(-) diff --git a/test/external/process_replay/process_replay.py b/test/external/process_replay/process_replay.py index 351945a29c..48ef3284ea 100755 --- a/test/external/process_replay/process_replay.py +++ b/test/external/process_replay/process_replay.py @@ -47,7 +47,7 @@ def replay_get_rangeify_map(ret:dict[UOp, UOp], big_sink:UOp) -> tuple[str, str, UOp.unique_num = itertools.count(max([u.arg for u in big_sink.toposort() if u.op is Ops.UNIQUE], default=0)+1) new_sink = big_sink.substitute(get_rangeify_map(big_sink)) def to_str(ret:UOp) -> str: - asts = [repr(u.arg.ast) for u in ret.toposort() if u.op is Ops.KERNEL] + asts = [repr(u.arg.ast) for u in ret.toposort() if u.op is Ops.CALL] return "\n".join([f"{len(asts)} kernels", *asts]) return to_str(new_sink), to_str(big_sink.substitute(ret)), (big_sink,) diff --git a/test/test_schedule.py b/test/test_schedule.py index 7e3801e61f..70bb17f588 100644 --- a/test/test_schedule.py +++ b/test/test_schedule.py @@ -683,7 +683,7 @@ class TestSchedule(unittest.TestCase): a = Tensor.zeros(1, dtype=dtypes.int).contiguous().realize().uop b = Tensor.zeros(1, dtype=dtypes.int).contiguous().realize().uop c = Tensor.arange(4).realize().uop - kernel = UOp(Ops.KERNEL, src=(a.base, b.base, c.base), arg=Kernel(UOp.sink(c.r(Ops.ADD, (0,))+1, c.r(Ops.ADD, (0,))*2))) + kernel = UOp(Ops.CALL, src=(a.base, b.base, c.base), arg=Kernel(UOp.sink(c.r(Ops.ADD, (0,))+1, c.r(Ops.ADD, (0,))*2))) run_schedule(check_schedule(UOp.sink(a.assign(kernel), b.assign(kernel)), 1)) self.assertEqual(a.buffer.numpy(), [7]) self.assertEqual(b.buffer.numpy(), [12]) diff --git a/tinygrad/engine/schedule.py b/tinygrad/engine/schedule.py index d465051250..8206fadf08 100644 --- a/tinygrad/engine/schedule.py +++ b/tinygrad/engine/schedule.py @@ -26,9 +26,9 @@ def create_schedule(sched_sink:UOp) -> tuple[list[ExecItem], UOp]: if u.op is Ops.RANGE: in_degree.setdefault(u, 0) if u.op is not Ops.AFTER: continue if (k:=u.src[1]).op is Ops.RANGE: continue # RANGEs are scheduled directly, not through dependency graph - assert k.op in {Ops.KERNEL, Ops.END}, f"AFTER src[1] should be KERNEL or END, not {k.op}" + assert k.op in {Ops.CALL, Ops.END}, f"AFTER src[1] should be KERNEL or END, not {k.op}" in_degree.setdefault(k, 0) - if k.op is Ops.END: assert k.src[0].op is Ops.KERNEL, f"END src[0] should be KERNEL, not {k.src[0].op}" + if k.op is Ops.END: assert k.src[0].op is Ops.CALL, f"END src[0] should be KERNEL, not {k.src[0].op}" for s in k.src[0].src[1:] if k.op is Ops.END else k.src[1:]: match (s := _unwrap_src(s)).op: case Ops.AFTER: @@ -54,9 +54,9 @@ def create_schedule(sched_sink:UOp) -> tuple[list[ExecItem], UOp]: while len(queue): k = rk = queue.popleft() if k.op is Ops.END: k = k.src[0] - assert k.op in {Ops.RANGE, Ops.KERNEL}, f"unexpected op in queue: {k.op}" + assert k.op in {Ops.RANGE, Ops.CALL}, f"unexpected op in queue: {k.op}" if k.op is Ops.RANGE: schedule.append(k) - elif k.op is Ops.KERNEL: + elif k.op is Ops.CALL: ast = k.src[0] buf_uops = tuple(_unwrap_src(s).buf_uop for s in k.src[1:] if s.op is not Ops.BIND) bound_ranges = tuple(s for s in k.src[1:] if s.op is Ops.BIND and len(s.src) > 1 and s.src[1].op is Ops.RANGE) @@ -86,7 +86,7 @@ def unroll_outer_ranges(schedule:list[UOp], sched_item:dict[UOp, ScheduleItem]) sched_ptr = range_ptrs[si.src[1]] continue else: - assert si.op is Ops.KERNEL, f"unexpected op in schedule: {si.op}" + assert si.op is Ops.CALL, f"unexpected op in schedule: {si.op}" ast, buf_uops, metadata, bound_ranges = sched_item[si] fixedvars = {s.src[0].arg[0]:in_ranges[s.src[1]] for s in bound_ranges} pre_schedule.append(ExecItem(ast, [], metadata, fixedvars)) diff --git a/tinygrad/schedule/indexing.py b/tinygrad/schedule/indexing.py index 2108b8b4a4..53a89ac68f 100644 --- a/tinygrad/schedule/indexing.py +++ b/tinygrad/schedule/indexing.py @@ -9,7 +9,7 @@ from tinygrad.helpers import argsort, all_same, cpu_profile, PCONTIG, colored ALWAYS_CONTIGUOUS: set[Ops] = {Ops.CONTIGUOUS, Ops.ASSIGN, Ops.COPY, Ops.BUFFER, Ops.BUFFER_VIEW, Ops.CONST, Ops.BIND, Ops.DEVICE, Ops.MSELECT, Ops.MSTACK, Ops.PARAM, - Ops.DEFINE_LOCAL, Ops.DEFINE_REG, Ops.LOAD, Ops.KERNEL, Ops.ENCDEC} + Ops.DEFINE_LOCAL, Ops.DEFINE_REG, Ops.LOAD, Ops.CALL, Ops.ENCDEC} def realize(ctx:dict[UOp, None], tr:UOp) -> None: ctx[tr] = None @@ -92,7 +92,7 @@ def remove_movement_op_after_rangeify(ctx:IndexingContext, x:UOp): if x in ctx.range_map or x.src[0].op is Ops.INDEX: return x.src[0] def add_third_op_to_assign_to_track_shape(ctx:IndexingContext, assign:UOp): - if assign.src[1].op is Ops.KERNEL: return None + if assign.src[1].op is Ops.CALL: return None to_mop = graph_rewrite(assign.src[0], PatternMatcher([(UPat(GroupOp.Movement, name="x"), lambda x: x.replace(tag=()))])) ret = assign.replace(src=assign.src+(to_mop,)) ctx.range_map[ret] = ctx.range_map[assign] @@ -167,7 +167,7 @@ def run_rangeify(tsink:UOp, debug:bool=False) -> tuple[UOp, IndexingContext]: if x.op in {Ops.DEVICE, Ops.UNIQUE}: continue # no ranges on kernels, they are internal - if x.op is Ops.KERNEL: continue + if x.op is Ops.CALL: continue if x.dtype.scalar() == dtypes.index: continue # TODO: why do I need this? ending_ranges[x] = sum([ending_ranges.get(u, []) for u in consumer_map[x]], []) diff --git a/tinygrad/schedule/rangeify.py b/tinygrad/schedule/rangeify.py index ff5ef67324..d07bb4049f 100644 --- a/tinygrad/schedule/rangeify.py +++ b/tinygrad/schedule/rangeify.py @@ -393,7 +393,7 @@ pm_add_buffers = pm_mops+pm_flatten_bufferize+to_bufferview+PatternMatcher([ lambda m: m.replace(src=tuple([x.src[0].base for x in m.src]), tag=None).reshape(m.shape).rtag(m.tag)), # remove any RESHAPEs on KERNEL - (UPat(Ops.KERNEL, name="k"), lambda k: k.replace(src=tuple(x.src[0] if x.op is Ops.RESHAPE else x for x in k.src))), + (UPat(Ops.CALL, name="k"), lambda k: k.replace(src=tuple(x.src[0] if x.op is Ops.RESHAPE else x for x in k.src))), ]) pm_add_buffers_local = pm_mops+pm_flatten_bufferize+to_bufferview+PatternMatcher([ @@ -544,7 +544,7 @@ def tag_uop(ctx:tuple[list[UOp], set[UOp]], x:UOp): return x.replace(tag=(len(ctx[0])-1,)) add_tags = PatternMatcher([ # don't tag BUFFERs, they are global - (UPat(GroupOp.All-{Ops.BUFFER, Ops.CONST, Ops.DEVICE, Ops.UNIQUE, Ops.LUNIQUE, Ops.DEFINE_VAR, Ops.BIND, Ops.KERNEL, Ops.END, + (UPat(GroupOp.All-{Ops.BUFFER, Ops.CONST, Ops.DEVICE, Ops.UNIQUE, Ops.LUNIQUE, Ops.DEFINE_VAR, Ops.BIND, Ops.CALL, Ops.END, Ops.MSTACK, Ops.MSELECT, Ops.RANGE}.union(GroupOp.Movement), name="x"), tag_uop), (UPat({Ops.MSTACK, Ops.MSELECT}, name="x"), lambda ctx,x: None if all(s.op is Ops.BUFFER for s in x.src) else tag_uop(ctx, x)), ]) diff --git a/tinygrad/uop/__init__.py b/tinygrad/uop/__init__.py index fa1328df50..1c0629147c 100644 --- a/tinygrad/uop/__init__.py +++ b/tinygrad/uop/__init__.py @@ -81,7 +81,6 @@ class Ops(FastEnum): # tensor graph ops UNIQUE = auto(); DEVICE = auto(); ASSIGN = auto() CUSTOM_KERNEL = auto() - KERNEL = CALL # local unique LUNIQUE = auto() diff --git a/tinygrad/uop/ops.py b/tinygrad/uop/ops.py index 8bc5b5d3a0..d7ffb6e816 100644 --- a/tinygrad/uop/ops.py +++ b/tinygrad/uop/ops.py @@ -1427,7 +1427,7 @@ def pyrender(ast:UOp) -> str: cmap = consumer_map_from_toposort(lst) not_rendered = {Ops.CONST, Ops.VCONST, Ops.DEVICE} always_rendered = {Ops.PARAM, Ops.LOAD, Ops.SPECIAL, Ops.RANGE, Ops.CONTIGUOUS, Ops.VECTORIZE, - Ops.BUFFER, Ops.COPY, Ops.KERNEL, Ops.WHERE, Ops.END, Ops.ASSIGN} + Ops.BUFFER, Ops.COPY, Ops.CALL, Ops.WHERE, Ops.END, Ops.ASSIGN} to_render: set[UOp] = {ast} for u in lst: diff --git a/tinygrad/uop/spec.py b/tinygrad/uop/spec.py index a09a59fb0d..fe011fc8fa 100644 --- a/tinygrad/uop/spec.py +++ b/tinygrad/uop/spec.py @@ -88,7 +88,7 @@ _tensor_spec = PatternMatcher([ lambda buf: isinstance(buf.arg, int) and isinstance(buf.dtype, (DType, ImageDType))), # KERNEL can attach to an AFTER to describe the compute required to realize a BUFFER - (UPat(Ops.KERNEL, src=UPat((Ops.BUFFER, Ops.AFTER, Ops.MSELECT, Ops.MSTACK, Ops.BIND))), lambda: True), + (UPat(Ops.CALL, src=UPat((Ops.BUFFER, Ops.AFTER, Ops.MSELECT, Ops.MSTACK, Ops.BIND))), lambda: True), # ASSIGN has a target and a value. It can also optionally depend on other assigns (UPat(Ops.ASSIGN, name="x"), lambda x: len(x.src) >= 2 and all(s.op is Ops.ASSIGN for s in x.src[2:])), @@ -250,7 +250,7 @@ full_spec = PatternMatcher([ (UPat(Ops.INDEX, src=(UPat((Ops.VECTORIZE, Ops.CAST)), UPat())), lambda: True), # linearizer: outputs + intermediate KERNELs - (UPat(Ops.KERNEL, dtype=dtypes.void), lambda: True), + (UPat(Ops.CALL, dtype=dtypes.void), lambda: True), # Invalid must have type Index (UPat(Ops.CONST, arg=Invalid, name="x"), lambda x: x.dtype.scalar() == dtypes.index), diff --git a/tinygrad/uop/symbolic.py b/tinygrad/uop/symbolic.py index 2436056e71..df4ae3699c 100644 --- a/tinygrad/uop/symbolic.py +++ b/tinygrad/uop/symbolic.py @@ -251,7 +251,7 @@ symbolic = symbolic_simple+commutative+PatternMatcher([ ((UPat.var("x", dtypes.index) + UPat.cvar("c")).cast(dtypes.sints, name="cast"), lambda x,c,cast:x.cast(cast.dtype)+c.cast(cast.dtype)), # only RANGE/IF/STORE/KERNEL have side effects (UPat(Ops.AFTER, name="x"), lambda x: x.replace(src=(x.src[0],)+ - tuple(flatten([(y,) if y.op in {Ops.RANGE, Ops.STORE, Ops.KERNEL, Ops.BARRIER, Ops.END, Ops.UNROLL} else y.src for y in x.src[1:]])))), + tuple(flatten([(y,) if y.op in {Ops.RANGE, Ops.STORE, Ops.CALL, Ops.BARRIER, Ops.END, Ops.UNROLL} else y.src for y in x.src[1:]])))), # after with 1 src is just src[0] (UPat(Ops.AFTER, src=(UPat.var("s"),)), lambda s: s), # VECTORIZE/CONST diff --git a/tinygrad/viz/serve.py b/tinygrad/viz/serve.py index 4f2bf8cdf0..30e3cfac2f 100755 --- a/tinygrad/viz/serve.py +++ b/tinygrad/viz/serve.py @@ -127,9 +127,9 @@ def uop_to_json(x:UOp) -> dict[int, dict]: label += "\n"+' '.join([f"{range_str(s, color=True)}({s.vmax+1})" for s in trngs]) except Exception: label += "\n" - if (ref:=ref_map.get(u.src[0]) if u.op is Ops.KERNEL else None) is not None: label += f"\ncodegen@{ctxs[ref]['name']}" + if (ref:=ref_map.get(u.src[0]) if u.op is Ops.CALL else None) is not None: label += f"\ncodegen@{ctxs[ref]['name']}" # NOTE: kernel already has metadata in arg - if TRACEMETA >= 2 and u.metadata is not None and u.op is not Ops.KERNEL: label += "\n"+str(u.metadata) + if TRACEMETA >= 2 and u.metadata is not None and u.op is not Ops.CALL: label += "\n"+str(u.metadata) graph[id(u)] = {"label":label, "src":[(i,id(x)) for i,x in enumerate(u.src) if x not in excluded], "color":uops_colors.get(u.op, "#ffffff"), "ref":ref, "tag":repr(u.tag) if u.tag is not None else None} return graph From 884592f6c8929af5b0d3756e86e58f5dfdb58351 Mon Sep 17 00:00:00 2001 From: chenyu Date: Fri, 6 Feb 2026 22:49:31 -0500 Subject: [PATCH 08/22] pin z3-solver version (#14605) found exact input that crashes z3 4.15.4 --- pyproject.toml | 2 +- test/external/fuzz_symbolic.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 80f40fde2e..976f1f32d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,7 +67,7 @@ testing_minimal = [ "pytest-timeout", "pytest-split", "hypothesis>=6.148.9", - "z3-solver", + "z3-solver<4.15.4", # 4.15.4 has a segfault when creating many z3.Context() ] testing_unit = ["tinygrad[testing_minimal]", "tqdm", "safetensors", "tabulate", "openai", "ggml-python"] testing = [ diff --git a/test/external/fuzz_symbolic.py b/test/external/fuzz_symbolic.py index 045f07e164..641d5eed6e 100644 --- a/test/external/fuzz_symbolic.py +++ b/test/external/fuzz_symbolic.py @@ -1,3 +1,7 @@ +# NOTE: z3-solver 4.15.4 segfaults (exit code 139) when creating many z3.Context() with complex expressions. +# Reproduces consistently with seed=74 around iteration 1767. Versions <=4.15.3 are fine. +# Workaround: reuse a single z3.Context, or pin z3-solver<4.15.4 (see pyproject.toml). +# To repro: pip install z3-solver==4.15.4.0 && python test/external/fuzz_symbolic.py 74 import random, operator, sys import z3 from tinygrad import Variable, dtypes From 6838b35cff695d2e2a007fd1845f41db4735070a Mon Sep 17 00:00:00 2001 From: nimlgen <138685161+nimlgen@users.noreply.github.com> Date: Sat, 7 Feb 2026 12:27:55 +0300 Subject: [PATCH 09/22] mockgpu: hevc (#14606) * mockgpu: hevc * eng --- test/mockgpu/nv/nvdriver.py | 11 +++++++---- test/mockgpu/nv/nvgpu.py | 26 +++++++++++++++++++++++++- test/testextra/test_hevc.py | 26 ++++++++++++++++++++++++-- 3 files changed, 56 insertions(+), 7 deletions(-) diff --git a/test/mockgpu/nv/nvdriver.py b/test/mockgpu/nv/nvdriver.py index 6bd788719d..d89229db98 100644 --- a/test/mockgpu/nv/nvdriver.py +++ b/test/mockgpu/nv/nvdriver.py @@ -130,15 +130,18 @@ class NVDriver(VirtDriver): struct.hObjectNew = self._alloc_handle() self.object_by_handle[struct.hObjectNew] = NVContextShare(self.object_by_handle[struct.hObjectParent]) elif struct.hClass == nv_gpu.AMPERE_CHANNEL_GPFIFO_A: - assert struct.hObjectParent in self.object_by_handle and isinstance(self.object_by_handle[struct.hObjectParent], NVChannelGroup) + parent = self.object_by_handle.get(struct.hObjectParent) + assert parent is not None and isinstance(parent, (NVChannelGroup, NVGPU)) struct.hObjectNew = self._alloc_handle() params = nv_gpu.NV_CHANNELGPFIFO_ALLOCATION_PARAMETERS.from_address(params_ptr) - gpu = self.object_by_handle[struct.hObjectParent].device + gpu = parent.device if isinstance(parent, NVChannelGroup) else parent gpfifo_token = gpu.add_gpfifo(params.gpFifoOffset, params.gpFifoEntries) self.object_by_handle[struct.hObjectNew] = NVGPFIFO(gpu, gpfifo_token) - elif struct.hClass == nv_gpu.AMPERE_DMA_COPY_B or struct.hClass == nv_gpu.ADA_COMPUTE_A: + elif struct.hClass in (nv_gpu.AMPERE_DMA_COPY_B, nv_gpu.ADA_COMPUTE_A, nv_gpu.NVC9B0_VIDEO_DECODER, nv_gpu.NVCFB0_VIDEO_DECODER): assert struct.hObjectParent in self.object_by_handle and isinstance(self.object_by_handle[struct.hObjectParent], NVGPFIFO) struct.hObjectNew = self._alloc_handle() + gpfifo = self.object_by_handle[struct.hObjectParent] + gpfifo.device.queues[gpfifo.token].bound_engines.add(struct.hClass) elif struct.hClass == nv_gpu.GT200_DEBUGGER: struct.hObjectNew = self._alloc_handle() elif struct.hClass == nv_gpu.MAXWELL_PROFILER_DEVICE: @@ -194,7 +197,7 @@ class NVDriver(VirtDriver): params = nv_gpu.NVC36F_CTRL_CMD_GPFIFO_GET_WORK_SUBMIT_TOKEN_PARAMS.from_address(params_ptr) gpu_fifo = self.object_by_handle[struct.hObject] params.workSubmitToken = gpu_fifo.token - elif struct.cmd == nv_gpu.NVA06C_CTRL_CMD_GPFIFO_SCHEDULE: pass + elif struct.cmd in (nv_gpu.NVA06C_CTRL_CMD_GPFIFO_SCHEDULE, nv_gpu.NVA06F_CTRL_CMD_BIND, nv_gpu.NVA06F_CTRL_CMD_GPFIFO_SCHEDULE): pass elif struct.cmd == nv_gpu.NV2080_CTRL_CMD_PERF_BOOST: pass elif struct.cmd == nv_gpu.NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE: pass elif struct.cmd == nv_gpu.NV83DE_CTRL_CMD_DEBUG_READ_ALL_SM_ERROR_STATES: diff --git a/test/mockgpu/nv/nvgpu.py b/test/mockgpu/nv/nvgpu.py index 9c97fabaf8..274b2d16db 100644 --- a/test/mockgpu/nv/nvgpu.py +++ b/test/mockgpu/nv/nvgpu.py @@ -26,6 +26,7 @@ class GPFIFO: self.gpfifo = to_mv(self.base, self.entries_cnt * 8).cast("Q") self.ctrl = nv_gpu.AmpereAControlGPFifo.from_address(self.base + self.entries_cnt * 8) self.state = {} + self.bound_engines: set[int] = set() # Buf exec state self.buf = None @@ -115,9 +116,11 @@ class GPFIFO: def execute_cmd(self, cmd) -> SchedResult: if cmd == nv_gpu.NVC56F_SEM_EXECUTE: return self._exec_signal() elif cmd == nv_gpu.NVC6C0_LAUNCH_DMA: return self._exec_nvc6c0_dma() - elif cmd == nv_gpu.NVC6B5_LAUNCH_DMA: return self._exec_nvc6b5_dma() + elif cmd == nv_gpu.NVC6B5_LAUNCH_DMA: # NOTE: NVC6B5_LAUNCH_DMA == NVC9B0_EXECUTE == 0x300 + return self._exec_vid_decode() if self.bound_engines & {nv_gpu.NVC9B0_VIDEO_DECODER, nv_gpu.NVCFB0_VIDEO_DECODER} else self._exec_nvc6b5_dma() elif cmd == nv_gpu.NVC6C0_SEND_SIGNALING_PCAS2_B: return self._exec_pcas2() elif cmd == 0x0320: return self._exec_load_inline_qmd() # NVC6C0_LOAD_INLINE_QMD_DATA + elif cmd == nv_gpu.NVC9B0_SEMAPHORE_D: return self._exec_vid_semaphore() else: self.state[cmd] = self._next_dword() # just state update return SchedResult.CONT @@ -136,6 +139,27 @@ class GPFIFO: else: raise RuntimeError(f"Unsupported type={typ} in exec wait/signal") return SchedResult.CONT + def _exec_vid_decode(self) -> SchedResult: + self._next_dword() # consume execute flags + # validate that all required decode state was set up correctly + assert self._state(nv_gpu.NVC9B0_SET_APPLICATION_ID) == nv_gpu.NVC9B0_SET_APPLICATION_ID_ID_HEVC + pic_desc_addr = self._state(nv_gpu.NVC9B0_SET_DRV_PIC_SETUP_OFFSET) << 8 + pic = nv_gpu.nvdec_hevc_pic_s.from_address(pic_desc_addr) + assert pic.stream_len > 0 and pic.pic_width_in_luma_samples > 0 and pic.pic_height_in_luma_samples > 0 + assert self._state(nv_gpu.NVC9B0_SET_IN_BUF_BASE_OFFSET) != 0 + assert self._state(nv_gpu.NVC9B0_SET_COLOC_DATA_OFFSET) != 0 + assert self._state(nv_gpu.NVC9B0_SET_NVDEC_STATUS_OFFSET) != 0 + assert self._state(nv_gpu.NVC9B0_HEVC_SET_FILTER_BUFFER_OFFSET) != 0 + return SchedResult.CONT + + def _exec_vid_semaphore(self) -> SchedResult: + signal = self._state64(nv_gpu.NVC9B0_SEMAPHORE_A) + val = self._state(nv_gpu.NVC9B0_SEMAPHORE_C) + self._next_dword() # flags + to_mv(signal, 8).cast('Q')[0] = val + to_mv(signal + 8, 8).cast('Q')[0] = int(time.perf_counter() * 1e9) + return SchedResult.CONT + def _exec_load_inline_qmd(self): qmd_addr = self._state64(nv_gpu.NVC6C0_SET_INLINE_QMD_ADDRESS_A) << 8 assert qmd_addr != 0x0, f"invalid qmd address {qmd_addr}" diff --git a/test/testextra/test_hevc.py b/test/testextra/test_hevc.py index 289d907466..058b237f42 100644 --- a/test/testextra/test_hevc.py +++ b/test/testextra/test_hevc.py @@ -1,8 +1,9 @@ import unittest -from tinygrad import Device -from tinygrad.helpers import fetch +from tinygrad import Tensor, Device, dtypes +from tinygrad.helpers import fetch, round_up from extra.hevc.hevc import parse_hevc_file_headers, nv_gpu +from extra.hevc.decode import hevc_decode class TestHevc(unittest.TestCase): def test_hevc_parser(self): @@ -61,5 +62,26 @@ class TestHevc(unittest.TestCase): self.assertEqual(list(frame3.initreflistidxl0), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) self.assertEqual(list(frame3.initreflistidxl1), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) self.assertEqual(list(frame3.RefDiffPicOrderCnts), [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) + + @unittest.skipUnless(Device.DEFAULT == "NV", "NV only") + def test_hevc_decode(self): + url = "https://github.com/haraschax/filedump/raw/09a497959f7fa6fd8dba501a25f2cdb3a41ecb12/comma_video.hevc" + dat = fetch(url, headers={"Range": f"bytes=0-{512<<10}"}).read_bytes() + + opaque, frame_info, w, h, luma_w, luma_h, chroma_off = parse_hevc_file_headers(dat) + frame_info = frame_info[:4] + out_image_size = luma_h + (luma_h + 1) // 2, round_up(luma_w, 64) + + hevc_tensor = Tensor(dat, device="NV") + opaque_nv = opaque.to("NV").contiguous().realize() + + frames = list(hevc_decode(hevc_tensor, opaque_nv, frame_info, luma_h, luma_w)) + Device.default.synchronize() + self.assertEqual(len(frames), 4) + for f in frames: + self.assertEqual(f.shape, out_image_size) + self.assertEqual(f.dtype, dtypes.uint8) + self.assertEqual(f.device, "NV") + if __name__ == "__main__": unittest.main() From c2544e2252cb9595e98567020560e2404f4fe441 Mon Sep 17 00:00:00 2001 From: qazal <77887910+Qazalin@users.noreply.github.com> Date: Sat, 7 Feb 2026 06:05:24 -0500 Subject: [PATCH 10/22] viz: remove outdated comment (#14608) --- tinygrad/viz/serve.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tinygrad/viz/serve.py b/tinygrad/viz/serve.py index 30e3cfac2f..340a8e0d2d 100755 --- a/tinygrad/viz/serve.py +++ b/tinygrad/viz/serve.py @@ -141,7 +141,6 @@ def _reconstruct(a:int): def get_full_rewrite(ctx:TrackedGraphRewrite) -> Generator[GraphRewriteDetails, None, None]: next_sink = _reconstruct(ctx.sink) - # in the schedule graph we don't show indexing ops (unless it's in a kernel AST or rewriting dtypes.index sink) yield {"graph":uop_to_json(next_sink), "uop":pystr(next_sink), "change":None, "diff":None, "upat":None} replaces: dict[UOp, UOp] = {} for u0_num,u1_num,upat_loc,dur in tqdm(ctx.matches): From ce7bfc6ce8fcbe4be977e2a53f0dfa558f72e391 Mon Sep 17 00:00:00 2001 From: nimlgen <138685161+nimlgen@users.noreply.github.com> Date: Sat, 7 Feb 2026 15:01:38 +0300 Subject: [PATCH 11/22] nv: use nv_flags for all fields (#14607) --- tinygrad/runtime/autogen/__init__.py | 2 +- tinygrad/runtime/autogen/nv_570.py | 1148 ++++++++++++++++++++++++++ tinygrad/runtime/autogen/nv_580.py | 1063 ++++++++++++++++++++++++ tinygrad/runtime/ops_nv.py | 21 +- 4 files changed, 2226 insertions(+), 8 deletions(-) diff --git a/tinygrad/runtime/autogen/__init__.py b/tinygrad/runtime/autogen/__init__.py index 6390e34fd4..bdfd5c9bc1 100644 --- a/tinygrad/runtime/autogen/__init__.py +++ b/tinygrad/runtime/autogen/__init__.py @@ -57,7 +57,7 @@ def __getattr__(nm): ], args=[ "-include", "{}/src/common/sdk/nvidia/inc/nvtypes.h", "-I{}/src/common/inc", "-I{}/kernel-open/nvidia-uvm", "-I{}/kernel-open/common/inc", "-I{}/src/common/sdk/nvidia/inc", "-I{}/src/nvidia/arch/nvalloc/unix/include", "-I{}/src/common/sdk/nvidia/inc/ctrl" - ], rules=[(r'MW\(([^:]+):(.+)\)',r'(\1, \2)')], tarball=nv_src[nm], anon_names={"{}/kernel-open/common/inc/nvstatus.h:37":"nv_status_codes"}) + ], rules=[(r'MW\(([^:]+):(.+)\)',r'(\1, \2)'), (r'(\d+):(\d+)', r'(\1, \2)')], tarball=nv_src[nm], anon_names={"{}/kernel-open/common/inc/nvstatus.h:37":"nv_status_codes"}) case "nv": return load("nv", None, [ *[f"{{}}/src/nvidia/inc/kernel/gpu/{s}.h" for s in ["fsp/kern_fsp_cot_payload", "gsp/gsp_init_args"]], *[f"{{}}/src/nvidia/arch/nvalloc/common/inc/{s}.h" for s in ["gsp/gspifpub", "gsp/gsp_fw_wpr_meta", "gsp/gsp_fw_sr_meta", "rmRiscvUcode", diff --git a/tinygrad/runtime/autogen/nv_570.py b/tinygrad/runtime/autogen/nv_570.py index 386b0179c2..59582064f2 100644 --- a/tinygrad/runtime/autogen/nv_570.py +++ b/tinygrad/runtime/autogen/nv_570.py @@ -12446,8 +12446,11 @@ NV_WARN_OUT_OF_RANGE = nv_status_codes.define('NV_WARN_OUT_OF_RANGE', 65544) c.init_records() NVC9B0_VIDEO_DECODER = (0x0000C9B0) # type: ignore NVC9B0_NOP = (0x00000100) # type: ignore +NVC9B0_NOP_PARAMETER = (31, 0) # type: ignore NVC9B0_PM_TRIGGER = (0x00000140) # type: ignore +NVC9B0_PM_TRIGGER_V = (31, 0) # type: ignore NVC9B0_SET_APPLICATION_ID = (0x00000200) # type: ignore +NVC9B0_SET_APPLICATION_ID_ID = (31, 0) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_MPEG12 = (0x00000001) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_VC1 = (0x00000002) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_H264 = (0x00000003) # type: ignore @@ -12468,53 +12471,82 @@ NVC9B0_SET_APPLICATION_ID_ID_AVD = (0x00000012) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_HW_DRM_PR4_DECRYPTCONTENTMULTIPLE = (0x00000013) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_DHKE = (0x00000020) # type: ignore NVC9B0_SET_WATCHDOG_TIMER = (0x00000204) # type: ignore +NVC9B0_SET_WATCHDOG_TIMER_TIMER = (31, 0) # type: ignore NVC9B0_SEMAPHORE_A = (0x00000240) # type: ignore +NVC9B0_SEMAPHORE_A_UPPER = (7, 0) # type: ignore NVC9B0_SEMAPHORE_B = (0x00000244) # type: ignore +NVC9B0_SEMAPHORE_B_LOWER = (31, 0) # type: ignore NVC9B0_SEMAPHORE_C = (0x00000248) # type: ignore +NVC9B0_SEMAPHORE_C_PAYLOAD = (31, 0) # type: ignore NVC9B0_CTX_SAVE_AREA = (0x0000024C) # type: ignore +NVC9B0_CTX_SAVE_AREA_OFFSET = (31, 0) # type: ignore NVC9B0_CTX_SWITCH = (0x00000250) # type: ignore +NVC9B0_CTX_SWITCH_OP = (1, 0) # type: ignore NVC9B0_CTX_SWITCH_OP_CTX_UPDATE = (0x00000000) # type: ignore NVC9B0_CTX_SWITCH_OP_CTX_SAVE = (0x00000001) # type: ignore NVC9B0_CTX_SWITCH_OP_CTX_RESTORE = (0x00000002) # type: ignore NVC9B0_CTX_SWITCH_OP_CTX_FORCERESTORE = (0x00000003) # type: ignore +NVC9B0_CTX_SWITCH_CTXID_VALID = (2, 2) # type: ignore NVC9B0_CTX_SWITCH_CTXID_VALID_FALSE = (0x00000000) # type: ignore NVC9B0_CTX_SWITCH_CTXID_VALID_TRUE = (0x00000001) # type: ignore +NVC9B0_CTX_SWITCH_RESERVED0 = (7, 3) # type: ignore +NVC9B0_CTX_SWITCH_CTX_ID = (23, 8) # type: ignore +NVC9B0_CTX_SWITCH_RESERVED1 = (31, 24) # type: ignore NVC9B0_SET_SEMAPHORE_PAYLOAD_LOWER = (0x00000254) # type: ignore +NVC9B0_SET_SEMAPHORE_PAYLOAD_LOWER_PAYLOAD_LOWER = (31, 0) # type: ignore NVC9B0_SET_SEMAPHORE_PAYLOAD_UPPER = (0x00000258) # type: ignore +NVC9B0_SET_SEMAPHORE_PAYLOAD_UPPER_PAYLOAD_UPPER = (31, 0) # type: ignore NVC9B0_SET_MONITORED_FENCE_SIGNAL_ADDRESS_BASE_A = (0x0000025C) # type: ignore +NVC9B0_SET_MONITORED_FENCE_SIGNAL_ADDRESS_BASE_A_LOWER = (31, 0) # type: ignore NVC9B0_SET_MONITORED_FENCE_SIGNAL_ADDRESS_BASE_B = (0x00000260) # type: ignore +NVC9B0_SET_MONITORED_FENCE_SIGNAL_ADDRESS_BASE_B_UPPER = (31, 0) # type: ignore NVC9B0_EXECUTE = (0x00000300) # type: ignore +NVC9B0_EXECUTE_NOTIFY = (0, 0) # type: ignore NVC9B0_EXECUTE_NOTIFY_DISABLE = (0x00000000) # type: ignore NVC9B0_EXECUTE_NOTIFY_ENABLE = (0x00000001) # type: ignore +NVC9B0_EXECUTE_NOTIFY_ON = (1, 1) # type: ignore NVC9B0_EXECUTE_NOTIFY_ON_END = (0x00000000) # type: ignore NVC9B0_EXECUTE_NOTIFY_ON_BEGIN = (0x00000001) # type: ignore +NVC9B0_EXECUTE_PREDICATION = (2, 2) # type: ignore NVC9B0_EXECUTE_PREDICATION_DISABLE = (0x00000000) # type: ignore NVC9B0_EXECUTE_PREDICATION_ENABLE = (0x00000001) # type: ignore +NVC9B0_EXECUTE_PREDICATION_OP = (3, 3) # type: ignore NVC9B0_EXECUTE_PREDICATION_OP_EQUAL_ZERO = (0x00000000) # type: ignore NVC9B0_EXECUTE_PREDICATION_OP_NOT_EQUAL_ZERO = (0x00000001) # type: ignore +NVC9B0_EXECUTE_AWAKEN = (8, 8) # type: ignore NVC9B0_EXECUTE_AWAKEN_DISABLE = (0x00000000) # type: ignore NVC9B0_EXECUTE_AWAKEN_ENABLE = (0x00000001) # type: ignore NVC9B0_SEMAPHORE_D = (0x00000304) # type: ignore +NVC9B0_SEMAPHORE_D_STRUCTURE_SIZE = (1, 0) # type: ignore NVC9B0_SEMAPHORE_D_STRUCTURE_SIZE_ONE = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_STRUCTURE_SIZE_FOUR = (0x00000001) # type: ignore NVC9B0_SEMAPHORE_D_STRUCTURE_SIZE_TWO = (0x00000002) # type: ignore +NVC9B0_SEMAPHORE_D_AWAKEN_ENABLE = (8, 8) # type: ignore NVC9B0_SEMAPHORE_D_AWAKEN_ENABLE_FALSE = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_AWAKEN_ENABLE_TRUE = (0x00000001) # type: ignore +NVC9B0_SEMAPHORE_D_OPERATION = (17, 16) # type: ignore NVC9B0_SEMAPHORE_D_OPERATION_RELEASE = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_OPERATION_RESERVED_0 = (0x00000001) # type: ignore NVC9B0_SEMAPHORE_D_OPERATION_RESERVED_1 = (0x00000002) # type: ignore NVC9B0_SEMAPHORE_D_OPERATION_TRAP = (0x00000003) # type: ignore +NVC9B0_SEMAPHORE_D_FLUSH_DISABLE = (21, 21) # type: ignore NVC9B0_SEMAPHORE_D_FLUSH_DISABLE_FALSE = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_FLUSH_DISABLE_TRUE = (0x00000001) # type: ignore +NVC9B0_SEMAPHORE_D_TRAP_TYPE = (23, 22) # type: ignore NVC9B0_SEMAPHORE_D_TRAP_TYPE_UNCONDITIONAL = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_TRAP_TYPE_CONDITIONAL = (0x00000001) # type: ignore NVC9B0_SEMAPHORE_D_TRAP_TYPE_CONDITIONAL_EXT = (0x00000002) # type: ignore +NVC9B0_SEMAPHORE_D_PAYLOAD_SIZE = (24, 24) # type: ignore NVC9B0_SEMAPHORE_D_PAYLOAD_SIZE_32BIT = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_PAYLOAD_SIZE_64BIT = (0x00000001) # type: ignore NVC9B0_SET_PREDICATION_OFFSET_UPPER = (0x00000308) # type: ignore +NVC9B0_SET_PREDICATION_OFFSET_UPPER_OFFSET = (7, 0) # type: ignore NVC9B0_SET_PREDICATION_OFFSET_LOWER = (0x0000030C) # type: ignore +NVC9B0_SET_PREDICATION_OFFSET_LOWER_OFFSET = (31, 0) # type: ignore NVC9B0_SET_AUXILIARY_DATA_BUFFER = (0x00000310) # type: ignore +NVC9B0_SET_AUXILIARY_DATA_BUFFER_OFFSET = (31, 0) # type: ignore NVC9B0_SET_CONTROL_PARAMS = (0x00000400) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE = (3, 0) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_MPEG1 = (0x00000000) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_MPEG2 = (0x00000001) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_VC1 = (0x00000002) # type: ignore @@ -12525,129 +12557,265 @@ NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_VP8 = (0x00000005) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_HEVC = (0x00000007) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_VP9 = (0x00000009) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_AV1 = (0x0000000A) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_GPTIMER_ON = (4, 4) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_RET_ERROR = (5, 5) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ERR_CONCEAL_ON = (6, 6) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ERROR_FRM_IDX = (12, 7) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_MBTIMER_ON = (13, 13) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_EC_INTRA_FRAME_USING_PSLC = (14, 14) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_IGNORE_SOME_FIELDS_CRC_CHECK = (15, 15) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_EVENT_TRACE_LOGGING_ON = (16, 16) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ALL_INTRA_FRAME = (17, 17) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_TESTRUN_ENV = (19, 18) # type: ignore NVC9B0_SET_CONTROL_PARAMS_TESTRUN_ENV_TRACE3D_RUN = (0x00000000) # type: ignore NVC9B0_SET_CONTROL_PARAMS_TESTRUN_ENV_PROD_RUN = (0x00000001) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_HINT_DUMP_EN = (20, 20) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_RESERVED = (25, 21) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_NVDECSIM_SKIP_SCP = (26, 26) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ENABLE_ENCRYPT = (27, 27) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ENCRYPTMODE = (31, 28) # type: ignore NVC9B0_SET_DRV_PIC_SETUP_OFFSET = (0x00000404) # type: ignore +NVC9B0_SET_DRV_PIC_SETUP_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_IN_BUF_BASE_OFFSET = (0x00000408) # type: ignore +NVC9B0_SET_IN_BUF_BASE_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_INDEX = (0x0000040C) # type: ignore +NVC9B0_SET_PICTURE_INDEX_INDEX = (31, 0) # type: ignore NVC9B0_SET_SLICE_OFFSETS_BUF_OFFSET = (0x00000410) # type: ignore +NVC9B0_SET_SLICE_OFFSETS_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_COLOC_DATA_OFFSET = (0x00000414) # type: ignore +NVC9B0_SET_COLOC_DATA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_HISTORY_OFFSET = (0x00000418) # type: ignore +NVC9B0_SET_HISTORY_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_DISPLAY_BUF_SIZE = (0x0000041C) # type: ignore +NVC9B0_SET_DISPLAY_BUF_SIZE_SIZE = (31, 0) # type: ignore NVC9B0_SET_HISTOGRAM_OFFSET = (0x00000420) # type: ignore +NVC9B0_SET_HISTOGRAM_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_NVDEC_STATUS_OFFSET = (0x00000424) # type: ignore +NVC9B0_SET_NVDEC_STATUS_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_DISPLAY_BUF_LUMA_OFFSET = (0x00000428) # type: ignore +NVC9B0_SET_DISPLAY_BUF_LUMA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_DISPLAY_BUF_CHROMA_OFFSET = (0x0000042C) # type: ignore +NVC9B0_SET_DISPLAY_BUF_CHROMA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET0 = (0x00000430) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET0_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET1 = (0x00000434) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET1_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET2 = (0x00000438) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET2_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET3 = (0x0000043C) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET3_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET4 = (0x00000440) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET4_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET5 = (0x00000444) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET5_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET6 = (0x00000448) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET6_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET7 = (0x0000044C) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET7_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET8 = (0x00000450) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET8_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET9 = (0x00000454) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET9_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET10 = (0x00000458) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET10_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET11 = (0x0000045C) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET11_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET12 = (0x00000460) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET12_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET13 = (0x00000464) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET13_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET14 = (0x00000468) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET14_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET15 = (0x0000046C) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET15_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET16 = (0x00000470) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET16_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET0 = (0x00000474) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET0_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET1 = (0x00000478) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET1_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET2 = (0x0000047C) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET2_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET3 = (0x00000480) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET3_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET4 = (0x00000484) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET4_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET5 = (0x00000488) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET5_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET6 = (0x0000048C) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET6_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET7 = (0x00000490) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET7_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET8 = (0x00000494) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET8_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET9 = (0x00000498) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET9_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET10 = (0x0000049C) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET10_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET11 = (0x000004A0) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET11_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET12 = (0x000004A4) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET12_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET13 = (0x000004A8) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET13_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET14 = (0x000004AC) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET14_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET15 = (0x000004B0) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET15_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET16 = (0x000004B4) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET16_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PIC_SCRATCH_BUF_OFFSET = (0x000004B8) # type: ignore +NVC9B0_SET_PIC_SCRATCH_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_EXTERNAL_MVBUFFER_OFFSET = (0x000004BC) # type: ignore +NVC9B0_SET_EXTERNAL_MVBUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_SUB_SAMPLE_MAP_OFFSET = (0x000004C0) # type: ignore +NVC9B0_SET_SUB_SAMPLE_MAP_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_SUB_SAMPLE_MAP_IV_OFFSET = (0x000004C4) # type: ignore +NVC9B0_SET_SUB_SAMPLE_MAP_IV_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_INTRA_TOP_BUF_OFFSET = (0x000004C8) # type: ignore +NVC9B0_SET_INTRA_TOP_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_TILE_SIZE_BUF_OFFSET = (0x000004CC) # type: ignore +NVC9B0_SET_TILE_SIZE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_FILTER_BUFFER_OFFSET = (0x000004D0) # type: ignore +NVC9B0_SET_FILTER_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_CRC_STRUCT_OFFSET = (0x000004D4) # type: ignore +NVC9B0_SET_CRC_STRUCT_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PR_SSM_CONTENT_INFO_BUF_OFFSET = (0x000004D8) # type: ignore +NVC9B0_SET_PR_SSM_CONTENT_INFO_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_MBHIST_BUF_OFFSET = (0x00000500) # type: ignore +NVC9B0_H264_SET_MBHIST_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP8_SET_PROB_DATA_OFFSET = (0x00000540) # type: ignore +NVC9B0_VP8_SET_PROB_DATA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP8_SET_HEADER_PARTITION_BUF_BASE_OFFSET = (0x00000544) # type: ignore +NVC9B0_VP8_SET_HEADER_PARTITION_BUF_BASE_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_SCALING_LIST_OFFSET = (0x00000580) # type: ignore +NVC9B0_HEVC_SET_SCALING_LIST_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_TILE_SIZES_OFFSET = (0x00000584) # type: ignore +NVC9B0_HEVC_SET_TILE_SIZES_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_FILTER_BUFFER_OFFSET = (0x00000588) # type: ignore +NVC9B0_HEVC_SET_FILTER_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_SAO_BUFFER_OFFSET = (0x0000058C) # type: ignore +NVC9B0_HEVC_SET_SAO_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_SLICE_INFO_BUFFER_OFFSET = (0x00000590) # type: ignore +NVC9B0_HEVC_SET_SLICE_INFO_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_SLICE_GROUP_INDEX = (0x00000594) # type: ignore +NVC9B0_HEVC_SET_SLICE_GROUP_INDEX_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_PROB_TAB_BUF_OFFSET = (0x000005C0) # type: ignore +NVC9B0_VP9_SET_PROB_TAB_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_CTX_COUNTER_BUF_OFFSET = (0x000005C4) # type: ignore +NVC9B0_VP9_SET_CTX_COUNTER_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_SEGMENT_READ_BUF_OFFSET = (0x000005C8) # type: ignore +NVC9B0_VP9_SET_SEGMENT_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_SEGMENT_WRITE_BUF_OFFSET = (0x000005CC) # type: ignore +NVC9B0_VP9_SET_SEGMENT_WRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_TILE_SIZE_BUF_OFFSET = (0x000005D0) # type: ignore +NVC9B0_VP9_SET_TILE_SIZE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_COL_MVWRITE_BUF_OFFSET = (0x000005D4) # type: ignore +NVC9B0_VP9_SET_COL_MVWRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_COL_MVREAD_BUF_OFFSET = (0x000005D8) # type: ignore +NVC9B0_VP9_SET_COL_MVREAD_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_FILTER_BUFFER_OFFSET = (0x000005DC) # type: ignore +NVC9B0_VP9_SET_FILTER_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_PARSER_SET_PIC_SETUP_OFFSET = (0x000005E0) # type: ignore +NVC9B0_VP9_PARSER_SET_PIC_SETUP_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_PARSER_SET_PREV_PIC_SETUP_OFFSET = (0x000005E4) # type: ignore +NVC9B0_VP9_PARSER_SET_PREV_PIC_SETUP_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_PARSER_SET_PROB_TAB_BUF_OFFSET = (0x000005E8) # type: ignore +NVC9B0_VP9_PARSER_SET_PROB_TAB_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_HINT_DUMP_BUF_OFFSET = (0x000005EC) # type: ignore +NVC9B0_VP9_SET_HINT_DUMP_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_CLEAR_HEADER_OFFSET = (0x00000600) # type: ignore +NVC9B0_PASS1_SET_CLEAR_HEADER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_RE_ENCRYPT_OFFSET = (0x00000604) # type: ignore +NVC9B0_PASS1_SET_RE_ENCRYPT_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_VP8_TOKEN_OFFSET = (0x00000608) # type: ignore +NVC9B0_PASS1_SET_VP8_TOKEN_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_INPUT_DATA_OFFSET = (0x0000060C) # type: ignore +NVC9B0_PASS1_SET_INPUT_DATA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_OUTPUT_DATA_SIZE_OFFSET = (0x00000610) # type: ignore +NVC9B0_PASS1_SET_OUTPUT_DATA_SIZE_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_PROB_TAB_READ_BUF_OFFSET = (0x00000640) # type: ignore +NVC9B0_AV1_SET_PROB_TAB_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_PROB_TAB_WRITE_BUF_OFFSET = (0x00000644) # type: ignore +NVC9B0_AV1_SET_PROB_TAB_WRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_SEGMENT_READ_BUF_OFFSET = (0x00000648) # type: ignore +NVC9B0_AV1_SET_SEGMENT_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_SEGMENT_WRITE_BUF_OFFSET = (0x0000064C) # type: ignore +NVC9B0_AV1_SET_SEGMENT_WRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_COL_MV0_READ_BUF_OFFSET = (0x00000650) # type: ignore +NVC9B0_AV1_SET_COL_MV0_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_COL_MV1_READ_BUF_OFFSET = (0x00000654) # type: ignore +NVC9B0_AV1_SET_COL_MV1_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_COL_MV2_READ_BUF_OFFSET = (0x00000658) # type: ignore +NVC9B0_AV1_SET_COL_MV2_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_COL_MVWRITE_BUF_OFFSET = (0x0000065C) # type: ignore +NVC9B0_AV1_SET_COL_MVWRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_GLOBAL_MODEL_BUF_OFFSET = (0x00000660) # type: ignore +NVC9B0_AV1_SET_GLOBAL_MODEL_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_FILM_GRAIN_BUF_OFFSET = (0x00000664) # type: ignore +NVC9B0_AV1_SET_FILM_GRAIN_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_TILE_STREAM_INFO_BUF_OFFSET = (0x00000668) # type: ignore +NVC9B0_AV1_SET_TILE_STREAM_INFO_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_SUB_STREAM_ENTRY_BUF_OFFSET = (0x0000066C) # type: ignore +NVC9B0_AV1_SET_SUB_STREAM_ENTRY_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_HINT_DUMP_BUF_OFFSET = (0x00000670) # type: ignore +NVC9B0_AV1_SET_HINT_DUMP_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_SCALING_LIST_OFFSET = (0x00000680) # type: ignore +NVC9B0_H264_SET_SCALING_LIST_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_VLDHIST_BUF_OFFSET = (0x00000684) # type: ignore +NVC9B0_H264_SET_VLDHIST_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_EDOBOFFSET0 = (0x00000688) # type: ignore +NVC9B0_H264_SET_EDOBOFFSET0_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_EDOBOFFSET1 = (0x0000068C) # type: ignore +NVC9B0_H264_SET_EDOBOFFSET1_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_EDOBOFFSET2 = (0x00000690) # type: ignore +NVC9B0_H264_SET_EDOBOFFSET2_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_EDOBOFFSET3 = (0x00000694) # type: ignore +NVC9B0_H264_SET_EDOBOFFSET3_OFFSET = (31, 0) # type: ignore NVC9B0_SET_CONTENT_INITIAL_VECTOR = lambda b: (0x00000C00 + (b)*0x00000004) # type: ignore +NVC9B0_SET_CONTENT_INITIAL_VECTOR_VALUE = (31, 0) # type: ignore NVC9B0_SET_CTL_COUNT = (0x00000C10) # type: ignore +NVC9B0_SET_CTL_COUNT_VALUE = (31, 0) # type: ignore NVC9B0_SET_UPPER_SRC = (0x00000C14) # type: ignore +NVC9B0_SET_UPPER_SRC_OFFSET = (7, 0) # type: ignore NVC9B0_SET_LOWER_SRC = (0x00000C18) # type: ignore +NVC9B0_SET_LOWER_SRC_OFFSET = (31, 0) # type: ignore NVC9B0_SET_UPPER_DST = (0x00000C1C) # type: ignore +NVC9B0_SET_UPPER_DST_OFFSET = (7, 0) # type: ignore NVC9B0_SET_LOWER_DST = (0x00000C20) # type: ignore +NVC9B0_SET_LOWER_DST_OFFSET = (31, 0) # type: ignore NVC9B0_SET_BLOCK_COUNT = (0x00000C24) # type: ignore +NVC9B0_SET_BLOCK_COUNT_VALUE = (31, 0) # type: ignore NVC9B0_PR_SET_REQUEST_BUF_OFFSET = (0x00000D00) # type: ignore +NVC9B0_PR_SET_REQUEST_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_REQUEST_BUF_SIZE = (0x00000D04) # type: ignore +NVC9B0_PR_SET_REQUEST_BUF_SIZE_SIZE = (31, 0) # type: ignore NVC9B0_PR_SET_RESPONSE_BUF_OFFSET = (0x00000D08) # type: ignore +NVC9B0_PR_SET_RESPONSE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_RESPONSE_BUF_SIZE = (0x00000D0C) # type: ignore +NVC9B0_PR_SET_RESPONSE_BUF_SIZE_SIZE = (31, 0) # type: ignore NVC9B0_PR_SET_REQUEST_MESSAGE_BUF_OFFSET = (0x00000D10) # type: ignore +NVC9B0_PR_SET_REQUEST_MESSAGE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_RESPONSE_MESSAGE_BUF_OFFSET = (0x00000D14) # type: ignore +NVC9B0_PR_SET_RESPONSE_MESSAGE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_LOCAL_DECRYPT_BUF_OFFSET = (0x00000D18) # type: ignore +NVC9B0_PR_SET_LOCAL_DECRYPT_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_LOCAL_DECRYPT_BUF_SIZE = (0x00000D1C) # type: ignore +NVC9B0_PR_SET_LOCAL_DECRYPT_BUF_SIZE_SIZE = (31, 0) # type: ignore NVC9B0_PR_SET_CONTENT_DECRYPT_INFO_BUF_OFFSET = (0x00000D20) # type: ignore +NVC9B0_PR_SET_CONTENT_DECRYPT_INFO_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_REENCRYPTED_BITSTREAM_BUF_OFFSET = (0x00000D24) # type: ignore +NVC9B0_PR_SET_REENCRYPTED_BITSTREAM_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_DH_KE_SET_CHALLENGE_BUF_OFFSET = (0x00000E00) # type: ignore +NVC9B0_DH_KE_SET_CHALLENGE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_DH_KE_SET_RESPONSE_BUF_OFFSET = (0x00000E04) # type: ignore +NVC9B0_DH_KE_SET_RESPONSE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_SESSION_KEY = lambda b: (0x00000F00 + (b)*0x00000004) # type: ignore +NVC9B0_SET_SESSION_KEY_VALUE = (31, 0) # type: ignore NVC9B0_SET_CONTENT_KEY = lambda b: (0x00000F10 + (b)*0x00000004) # type: ignore +NVC9B0_SET_CONTENT_KEY_VALUE = (31, 0) # type: ignore NVC9B0_PM_TRIGGER_END = (0x00001114) # type: ignore +NVC9B0_PM_TRIGGER_END_V = (31, 0) # type: ignore NVC9B0_ERROR_NONE = (0x00000000) # type: ignore NVC9B0_OS_ERROR_EXECUTE_INSUFFICIENT_DATA = (0x00000001) # type: ignore NVC9B0_OS_ERROR_SEMAPHORE_INSUFFICIENT_DATA = (0x00000002) # type: ignore @@ -14842,27 +15010,42 @@ NV2080_PLATFORM_POWER_MODE_CHANGE_COMPLETION = (0x00000000) # type: ignore NV2080_PLATFORM_POWER_MODE_CHANGE_ACPI_NOTIFICATION = (0x00000001) # type: ignore NV2080_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000) # type: ignore NV2080_TYPEDEF = Nv20Subdevice0 # type: ignore +NV2080_PLATFORM_POWER_MODE_CHANGE_INFO_INDEX = (7, 0) # type: ignore +NV2080_PLATFORM_POWER_MODE_CHANGE_INFO_MASK = (15, 8) # type: ignore +NV2080_PLATFORM_POWER_MODE_CHANGE_INFO_REASON = (23, 16) # type: ignore AMPERE_CHANNEL_GPFIFO_A = (0x0000C56F) # type: ignore NVC56F_NUMBER_OF_SUBCHANNELS = (8) # type: ignore NVC56F_SET_OBJECT = (0x00000000) # type: ignore +NVC56F_SET_OBJECT_NVCLASS = (15, 0) # type: ignore +NVC56F_SET_OBJECT_ENGINE = (20, 16) # type: ignore NVC56F_SET_OBJECT_ENGINE_SW = 0x0000001f # type: ignore NVC56F_ILLEGAL = (0x00000004) # type: ignore +NVC56F_ILLEGAL_HANDLE = (31, 0) # type: ignore NVC56F_NOP = (0x00000008) # type: ignore +NVC56F_NOP_HANDLE = (31, 0) # type: ignore NVC56F_SEMAPHOREA = (0x00000010) # type: ignore +NVC56F_SEMAPHOREA_OFFSET_UPPER = (7, 0) # type: ignore NVC56F_SEMAPHOREB = (0x00000014) # type: ignore +NVC56F_SEMAPHOREB_OFFSET_LOWER = (31, 2) # type: ignore NVC56F_SEMAPHOREC = (0x00000018) # type: ignore +NVC56F_SEMAPHOREC_PAYLOAD = (31, 0) # type: ignore NVC56F_SEMAPHORED = (0x0000001C) # type: ignore +NVC56F_SEMAPHORED_OPERATION = (4, 0) # type: ignore NVC56F_SEMAPHORED_OPERATION_ACQUIRE = 0x00000001 # type: ignore NVC56F_SEMAPHORED_OPERATION_RELEASE = 0x00000002 # type: ignore NVC56F_SEMAPHORED_OPERATION_ACQ_GEQ = 0x00000004 # type: ignore NVC56F_SEMAPHORED_OPERATION_ACQ_AND = 0x00000008 # type: ignore NVC56F_SEMAPHORED_OPERATION_REDUCTION = 0x00000010 # type: ignore +NVC56F_SEMAPHORED_ACQUIRE_SWITCH = (12, 12) # type: ignore NVC56F_SEMAPHORED_ACQUIRE_SWITCH_DISABLED = 0x00000000 # type: ignore NVC56F_SEMAPHORED_ACQUIRE_SWITCH_ENABLED = 0x00000001 # type: ignore +NVC56F_SEMAPHORED_RELEASE_WFI = (20, 20) # type: ignore NVC56F_SEMAPHORED_RELEASE_WFI_EN = 0x00000000 # type: ignore NVC56F_SEMAPHORED_RELEASE_WFI_DIS = 0x00000001 # type: ignore +NVC56F_SEMAPHORED_RELEASE_SIZE = (24, 24) # type: ignore NVC56F_SEMAPHORED_RELEASE_SIZE_16BYTE = 0x00000000 # type: ignore NVC56F_SEMAPHORED_RELEASE_SIZE_4BYTE = 0x00000001 # type: ignore +NVC56F_SEMAPHORED_REDUCTION = (30, 27) # type: ignore NVC56F_SEMAPHORED_REDUCTION_MIN = 0x00000000 # type: ignore NVC56F_SEMAPHORED_REDUCTION_MAX = 0x00000001 # type: ignore NVC56F_SEMAPHORED_REDUCTION_XOR = 0x00000002 # type: ignore @@ -14871,34 +15054,51 @@ NVC56F_SEMAPHORED_REDUCTION_OR = 0x00000004 # type: ignore NVC56F_SEMAPHORED_REDUCTION_ADD = 0x00000005 # type: ignore NVC56F_SEMAPHORED_REDUCTION_INC = 0x00000006 # type: ignore NVC56F_SEMAPHORED_REDUCTION_DEC = 0x00000007 # type: ignore +NVC56F_SEMAPHORED_FORMAT = (31, 31) # type: ignore NVC56F_SEMAPHORED_FORMAT_SIGNED = 0x00000000 # type: ignore NVC56F_SEMAPHORED_FORMAT_UNSIGNED = 0x00000001 # type: ignore NVC56F_NON_STALL_INTERRUPT = (0x00000020) # type: ignore +NVC56F_NON_STALL_INTERRUPT_HANDLE = (31, 0) # type: ignore NVC56F_FB_FLUSH = (0x00000024) # type: ignore +NVC56F_FB_FLUSH_HANDLE = (31, 0) # type: ignore NVC56F_MEM_OP_A = (0x00000028) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_CANCEL_TARGET_CLIENT_UNIT_ID = (5, 0) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_INVALIDATION_SIZE = (5, 0) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_CANCEL_TARGET_GPC_ID = (10, 6) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE = (7, 6) # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_ALL_TLBS = 0 # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_LINK_TLBS = 1 # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_NON_LINK_TLBS = 2 # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_RSVRVD = 3 # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_CANCEL_MMU_ENGINE_ID = (6, 0) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR = (11, 11) # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_EN = 0x00000001 # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_DIS = 0x00000000 # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_TARGET_ADDR_LO = (31, 12) # type: ignore NVC56F_MEM_OP_B = (0x0000002c) # type: ignore +NVC56F_MEM_OP_B_TLB_INVALIDATE_TARGET_ADDR_HI = (31, 0) # type: ignore NVC56F_MEM_OP_C = (0x00000030) # type: ignore +NVC56F_MEM_OP_C_MEMBAR_TYPE = (2, 0) # type: ignore NVC56F_MEM_OP_C_MEMBAR_TYPE_SYS_MEMBAR = 0x00000000 # type: ignore NVC56F_MEM_OP_C_MEMBAR_TYPE_MEMBAR = 0x00000001 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB = (0, 0) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_ONE = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_ALL = 0x00000001 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_GPC = (1, 1) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_GPC_ENABLE = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_GPC_DISABLE = 0x00000001 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY = (4, 2) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_NONE = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_START = 0x00000001 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_START_ACK_ALL = 0x00000002 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_TARGETED = 0x00000003 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_GLOBAL = 0x00000004 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_VA_GLOBAL = 0x00000005 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE = (6, 5) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_NONE = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_GLOBALLY = 0x00000001 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_INTRANODE = 0x00000002 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE = (9, 7) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_READ = 0 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_WRITE = 1 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_STRONG = 2 # type: ignore @@ -14907,6 +15107,7 @@ NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_WEAK = 4 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_ALL = 5 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_WRITE_AND_ATOMIC = 6 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ALL = 7 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL = (9, 7) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_ALL = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_PTE_ONLY = 0x00000001 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE0 = 0x00000002 # type: ignore @@ -14915,10 +15116,15 @@ NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE2 = 0x00000004 # type: NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE3 = 0x00000005 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE4 = 0x00000006 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE5 = 0x00000007 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE = (11, 10) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_VID_MEM = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_SYS_MEM_COHERENT = 0x00000002 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_SYS_MEM_NONCOHERENT = 0x00000003 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_ADDR_LO = (31, 12) # type: ignore +NVC56F_MEM_OP_C_ACCESS_COUNTER_CLR_TARGETED_NOTIFY_TAG = (19, 0) # type: ignore NVC56F_MEM_OP_D = (0x00000034) # type: ignore +NVC56F_MEM_OP_D_TLB_INVALIDATE_PDB_ADDR_HI = (26, 0) # type: ignore +NVC56F_MEM_OP_D_OPERATION = (31, 27) # type: ignore NVC56F_MEM_OP_D_OPERATION_MEMBAR = 0x00000005 # type: ignore NVC56F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE = 0x00000009 # type: ignore NVC56F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE_TARGETED = 0x0000000a # type: ignore @@ -14929,18 +15135,27 @@ NVC56F_MEM_OP_D_OPERATION_L2_CLEAN_COMPTAGS = 0x0000000f # type: ignore NVC56F_MEM_OP_D_OPERATION_L2_FLUSH_DIRTY = 0x00000010 # type: ignore NVC56F_MEM_OP_D_OPERATION_L2_WAIT_FOR_SYS_PENDING_READS = 0x00000015 # type: ignore NVC56F_MEM_OP_D_OPERATION_ACCESS_COUNTER_CLR = 0x00000016 # type: ignore +NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE = (1, 0) # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_MIMC = 0x00000000 # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_MOMC = 0x00000001 # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_ALL = 0x00000002 # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_TARGETED = 0x00000003 # type: ignore +NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE = (2, 2) # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE_MIMC = 0x00000000 # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE_MOMC = 0x00000001 # type: ignore +NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_BANK = (6, 3) # type: ignore NVC56F_SET_REFERENCE = (0x00000050) # type: ignore +NVC56F_SET_REFERENCE_COUNT = (31, 0) # type: ignore NVC56F_SEM_ADDR_LO = (0x0000005c) # type: ignore +NVC56F_SEM_ADDR_LO_OFFSET = (31, 2) # type: ignore NVC56F_SEM_ADDR_HI = (0x00000060) # type: ignore +NVC56F_SEM_ADDR_HI_OFFSET = (7, 0) # type: ignore NVC56F_SEM_PAYLOAD_LO = (0x00000064) # type: ignore +NVC56F_SEM_PAYLOAD_LO_PAYLOAD = (31, 0) # type: ignore NVC56F_SEM_PAYLOAD_HI = (0x00000068) # type: ignore +NVC56F_SEM_PAYLOAD_HI_PAYLOAD = (31, 0) # type: ignore NVC56F_SEM_EXECUTE = (0x0000006c) # type: ignore +NVC56F_SEM_EXECUTE_OPERATION = (2, 0) # type: ignore NVC56F_SEM_EXECUTE_OPERATION_ACQUIRE = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_RELEASE = 0x00000001 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_ACQ_STRICT_GEQ = 0x00000002 # type: ignore @@ -14948,14 +15163,19 @@ NVC56F_SEM_EXECUTE_OPERATION_ACQ_CIRC_GEQ = 0x00000003 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_ACQ_AND = 0x00000004 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_ACQ_NOR = 0x00000005 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_REDUCTION = 0x00000006 # type: ignore +NVC56F_SEM_EXECUTE_ACQUIRE_SWITCH_TSG = (12, 12) # type: ignore NVC56F_SEM_EXECUTE_ACQUIRE_SWITCH_TSG_DIS = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_ACQUIRE_SWITCH_TSG_EN = 0x00000001 # type: ignore +NVC56F_SEM_EXECUTE_RELEASE_WFI = (20, 20) # type: ignore NVC56F_SEM_EXECUTE_RELEASE_WFI_DIS = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_RELEASE_WFI_EN = 0x00000001 # type: ignore +NVC56F_SEM_EXECUTE_PAYLOAD_SIZE = (24, 24) # type: ignore NVC56F_SEM_EXECUTE_PAYLOAD_SIZE_32BIT = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_PAYLOAD_SIZE_64BIT = 0x00000001 # type: ignore +NVC56F_SEM_EXECUTE_RELEASE_TIMESTAMP = (25, 25) # type: ignore NVC56F_SEM_EXECUTE_RELEASE_TIMESTAMP_DIS = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_RELEASE_TIMESTAMP_EN = 0x00000001 # type: ignore +NVC56F_SEM_EXECUTE_REDUCTION = (30, 27) # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_IMIN = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_IMAX = 0x00000001 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_IXOR = 0x00000002 # type: ignore @@ -14964,34 +15184,56 @@ NVC56F_SEM_EXECUTE_REDUCTION_IOR = 0x00000004 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_IADD = 0x00000005 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_INC = 0x00000006 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_DEC = 0x00000007 # type: ignore +NVC56F_SEM_EXECUTE_REDUCTION_FORMAT = (31, 31) # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_FORMAT_SIGNED = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_FORMAT_UNSIGNED = 0x00000001 # type: ignore NVC56F_WFI = (0x00000078) # type: ignore +NVC56F_WFI_SCOPE = (0, 0) # type: ignore NVC56F_WFI_SCOPE_CURRENT_SCG_TYPE = 0x00000000 # type: ignore NVC56F_WFI_SCOPE_CURRENT_VEID = 0x00000000 # type: ignore NVC56F_WFI_SCOPE_ALL = 0x00000001 # type: ignore NVC56F_YIELD = (0x00000080) # type: ignore +NVC56F_YIELD_OP = (1, 0) # type: ignore NVC56F_YIELD_OP_NOP = 0x00000000 # type: ignore NVC56F_YIELD_OP_TSG = 0x00000003 # type: ignore NVC56F_CLEAR_FAULTED = (0x00000084) # type: ignore +NVC56F_CLEAR_FAULTED_HANDLE = (30, 0) # type: ignore +NVC56F_CLEAR_FAULTED_TYPE = (31, 31) # type: ignore NVC56F_CLEAR_FAULTED_TYPE_PBDMA_FAULTED = 0x00000000 # type: ignore NVC56F_CLEAR_FAULTED_TYPE_ENG_FAULTED = 0x00000001 # type: ignore NVC56F_GP_ENTRY__SIZE = 8 # type: ignore +NVC56F_GP_ENTRY0_FETCH = (0, 0) # type: ignore NVC56F_GP_ENTRY0_FETCH_UNCONDITIONAL = 0x00000000 # type: ignore NVC56F_GP_ENTRY0_FETCH_CONDITIONAL = 0x00000001 # type: ignore +NVC56F_GP_ENTRY0_GET = (31, 2) # type: ignore +NVC56F_GP_ENTRY0_OPERAND = (31, 0) # type: ignore +NVC56F_GP_ENTRY1_GET_HI = (7, 0) # type: ignore +NVC56F_GP_ENTRY1_LEVEL = (9, 9) # type: ignore NVC56F_GP_ENTRY1_LEVEL_MAIN = 0x00000000 # type: ignore NVC56F_GP_ENTRY1_LEVEL_SUBROUTINE = 0x00000001 # type: ignore +NVC56F_GP_ENTRY1_LENGTH = (30, 10) # type: ignore +NVC56F_GP_ENTRY1_SYNC = (31, 31) # type: ignore NVC56F_GP_ENTRY1_SYNC_PROCEED = 0x00000000 # type: ignore NVC56F_GP_ENTRY1_SYNC_WAIT = 0x00000001 # type: ignore +NVC56F_GP_ENTRY1_OPCODE = (7, 0) # type: ignore NVC56F_GP_ENTRY1_OPCODE_NOP = 0x00000000 # type: ignore NVC56F_GP_ENTRY1_OPCODE_ILLEGAL = 0x00000001 # type: ignore NVC56F_GP_ENTRY1_OPCODE_GP_CRC = 0x00000002 # type: ignore NVC56F_GP_ENTRY1_OPCODE_PB_CRC = 0x00000003 # type: ignore +NVC56F_DMA_METHOD_ADDRESS_OLD = (12, 2) # type: ignore +NVC56F_DMA_METHOD_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_SUBDEVICE_MASK = (15, 4) # type: ignore +NVC56F_DMA_METHOD_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_TERT_OP = (17, 16) # type: ignore NVC56F_DMA_TERT_OP_GRP0_INC_METHOD = (0x00000000) # type: ignore NVC56F_DMA_TERT_OP_GRP0_SET_SUB_DEV_MASK = (0x00000001) # type: ignore NVC56F_DMA_TERT_OP_GRP0_STORE_SUB_DEV_MASK = (0x00000002) # type: ignore NVC56F_DMA_TERT_OP_GRP0_USE_SUB_DEV_MASK = (0x00000003) # type: ignore NVC56F_DMA_TERT_OP_GRP2_NON_INC_METHOD = (0x00000000) # type: ignore +NVC56F_DMA_METHOD_COUNT_OLD = (28, 18) # type: ignore +NVC56F_DMA_METHOD_COUNT = (28, 16) # type: ignore +NVC56F_DMA_IMMD_DATA = (28, 16) # type: ignore +NVC56F_DMA_SEC_OP = (31, 29) # type: ignore NVC56F_DMA_SEC_OP_GRP0_USE_TERT = (0x00000000) # type: ignore NVC56F_DMA_SEC_OP_INC_METHOD = (0x00000001) # type: ignore NVC56F_DMA_SEC_OP_GRP2_USE_TERT = (0x00000002) # type: ignore @@ -15000,69 +15242,129 @@ NVC56F_DMA_SEC_OP_IMMD_DATA_METHOD = (0x00000004) # type: ignore NVC56F_DMA_SEC_OP_ONE_INC = (0x00000005) # type: ignore NVC56F_DMA_SEC_OP_RESERVED6 = (0x00000006) # type: ignore NVC56F_DMA_SEC_OP_END_PB_SEGMENT = (0x00000007) # type: ignore +NVC56F_DMA_INCR_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_INCR_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_INCR_COUNT = (28, 16) # type: ignore +NVC56F_DMA_INCR_OPCODE = (31, 29) # type: ignore NVC56F_DMA_INCR_OPCODE_VALUE = (0x00000001) # type: ignore +NVC56F_DMA_INCR_DATA = (31, 0) # type: ignore +NVC56F_DMA_NONINCR_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_NONINCR_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_NONINCR_COUNT = (28, 16) # type: ignore +NVC56F_DMA_NONINCR_OPCODE = (31, 29) # type: ignore NVC56F_DMA_NONINCR_OPCODE_VALUE = (0x00000003) # type: ignore +NVC56F_DMA_NONINCR_DATA = (31, 0) # type: ignore +NVC56F_DMA_ONEINCR_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_ONEINCR_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_ONEINCR_COUNT = (28, 16) # type: ignore +NVC56F_DMA_ONEINCR_OPCODE = (31, 29) # type: ignore NVC56F_DMA_ONEINCR_OPCODE_VALUE = (0x00000005) # type: ignore +NVC56F_DMA_ONEINCR_DATA = (31, 0) # type: ignore NVC56F_DMA_NOP = (0x00000000) # type: ignore +NVC56F_DMA_IMMD_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_IMMD_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_IMMD_DATA = (28, 16) # type: ignore +NVC56F_DMA_IMMD_OPCODE = (31, 29) # type: ignore NVC56F_DMA_IMMD_OPCODE_VALUE = (0x00000004) # type: ignore +NVC56F_DMA_SET_SUBDEVICE_MASK_VALUE = (15, 4) # type: ignore +NVC56F_DMA_SET_SUBDEVICE_MASK_OPCODE = (31, 16) # type: ignore NVC56F_DMA_SET_SUBDEVICE_MASK_OPCODE_VALUE = (0x00000001) # type: ignore +NVC56F_DMA_STORE_SUBDEVICE_MASK_VALUE = (15, 4) # type: ignore +NVC56F_DMA_STORE_SUBDEVICE_MASK_OPCODE = (31, 16) # type: ignore NVC56F_DMA_STORE_SUBDEVICE_MASK_OPCODE_VALUE = (0x00000002) # type: ignore +NVC56F_DMA_USE_SUBDEVICE_MASK_OPCODE = (31, 16) # type: ignore NVC56F_DMA_USE_SUBDEVICE_MASK_OPCODE_VALUE = (0x00000003) # type: ignore +NVC56F_DMA_ENDSEG_OPCODE = (31, 29) # type: ignore NVC56F_DMA_ENDSEG_OPCODE_VALUE = (0x00000007) # type: ignore +NVC56F_DMA_ADDRESS = (12, 2) # type: ignore +NVC56F_DMA_SUBCH = (15, 13) # type: ignore +NVC56F_DMA_OPCODE3 = (17, 16) # type: ignore NVC56F_DMA_OPCODE3_NONE = (0x00000000) # type: ignore +NVC56F_DMA_COUNT = (28, 18) # type: ignore +NVC56F_DMA_OPCODE = (31, 29) # type: ignore NVC56F_DMA_OPCODE_METHOD = (0x00000000) # type: ignore NVC56F_DMA_OPCODE_NONINC_METHOD = (0x00000002) # type: ignore +NVC56F_DMA_DATA = (31, 0) # type: ignore HOPPER_CHANNEL_GPFIFO_A = (0x0000C86F) # type: ignore NVC86F_SET_OBJECT = (0x00000000) # type: ignore NVC86F_SEM_ADDR_LO = (0x0000005c) # type: ignore +NVC86F_SEM_ADDR_LO_OFFSET = (31, 2) # type: ignore NVC86F_SEM_ADDR_HI = (0x00000060) # type: ignore +NVC86F_SEM_ADDR_HI_OFFSET = (24, 0) # type: ignore NVC86F_SEM_PAYLOAD_LO = (0x00000064) # type: ignore NVC86F_SEM_PAYLOAD_HI = (0x00000068) # type: ignore NVC86F_SEM_EXECUTE = (0x0000006c) # type: ignore +NVC86F_SEM_EXECUTE_OPERATION = (2, 0) # type: ignore NVC86F_SEM_EXECUTE_OPERATION_ACQUIRE = 0x00000000 # type: ignore NVC86F_SEM_EXECUTE_OPERATION_RELEASE = 0x00000001 # type: ignore +NVC86F_SEM_EXECUTE_RELEASE_WFI = (20, 20) # type: ignore NVC86F_SEM_EXECUTE_RELEASE_WFI_DIS = 0x00000000 # type: ignore +NVC86F_SEM_EXECUTE_PAYLOAD_SIZE = (24, 24) # type: ignore NVC86F_SEM_EXECUTE_PAYLOAD_SIZE_32BIT = 0x00000000 # type: ignore NVC86F_GP_ENTRY__SIZE = 8 # type: ignore +NVC86F_GP_ENTRY0_FETCH = (0, 0) # type: ignore NVC86F_GP_ENTRY0_FETCH_UNCONDITIONAL = 0x00000000 # type: ignore NVC86F_GP_ENTRY0_FETCH_CONDITIONAL = 0x00000001 # type: ignore +NVC86F_GP_ENTRY0_GET = (31, 2) # type: ignore +NVC86F_GP_ENTRY0_OPERAND = (31, 0) # type: ignore +NVC86F_GP_ENTRY0_PB_EXTENDED_BASE_OPERAND = (24, 8) # type: ignore +NVC86F_GP_ENTRY1_GET_HI = (7, 0) # type: ignore +NVC86F_GP_ENTRY1_LEVEL = (9, 9) # type: ignore NVC86F_GP_ENTRY1_LEVEL_MAIN = 0x00000000 # type: ignore NVC86F_GP_ENTRY1_LEVEL_SUBROUTINE = 0x00000001 # type: ignore +NVC86F_GP_ENTRY1_LENGTH = (30, 10) # type: ignore +NVC86F_GP_ENTRY1_SYNC = (31, 31) # type: ignore NVC86F_GP_ENTRY1_SYNC_PROCEED = 0x00000000 # type: ignore NVC86F_GP_ENTRY1_SYNC_WAIT = 0x00000001 # type: ignore +NVC86F_GP_ENTRY1_OPCODE = (7, 0) # type: ignore NVC86F_GP_ENTRY1_OPCODE_NOP = 0x00000000 # type: ignore NVC86F_GP_ENTRY1_OPCODE_ILLEGAL = 0x00000001 # type: ignore NVC86F_GP_ENTRY1_OPCODE_GP_CRC = 0x00000002 # type: ignore NVC86F_GP_ENTRY1_OPCODE_PB_CRC = 0x00000003 # type: ignore NVC86F_GP_ENTRY1_OPCODE_SET_PB_SEGMENT_EXTENDED_BASE = 0x00000004 # type: ignore NVC86F_WFI = (0x00000078) # type: ignore +NVC86F_WFI_SCOPE = (0, 0) # type: ignore NVC86F_WFI_SCOPE_CURRENT_SCG_TYPE = 0x00000000 # type: ignore NVC86F_WFI_SCOPE_CURRENT_VEID = 0x00000000 # type: ignore NVC86F_WFI_SCOPE_ALL = 0x00000001 # type: ignore NVC86F_MEM_OP_A = (0x00000028) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_CANCEL_TARGET_CLIENT_UNIT_ID = (5, 0) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_INVALIDATION_SIZE = (5, 0) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_CANCEL_TARGET_GPC_ID = (10, 6) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE = (7, 6) # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_ALL_TLBS = 0 # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_LINK_TLBS = 1 # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_NON_LINK_TLBS = 2 # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_RSVRVD = 3 # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_CANCEL_MMU_ENGINE_ID = (8, 0) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR = (11, 11) # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_EN = 0x00000001 # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_DIS = 0x00000000 # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_TARGET_ADDR_LO = (31, 12) # type: ignore NVC86F_MEM_OP_B = (0x0000002c) # type: ignore +NVC86F_MEM_OP_B_TLB_INVALIDATE_TARGET_ADDR_HI = (31, 0) # type: ignore NVC86F_MEM_OP_C = (0x00000030) # type: ignore +NVC86F_MEM_OP_C_MEMBAR_TYPE = (2, 0) # type: ignore NVC86F_MEM_OP_C_MEMBAR_TYPE_SYS_MEMBAR = 0x00000000 # type: ignore NVC86F_MEM_OP_C_MEMBAR_TYPE_MEMBAR = 0x00000001 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB = (0, 0) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_ONE = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_ALL = 0x00000001 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_GPC = (1, 1) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_GPC_ENABLE = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_GPC_DISABLE = 0x00000001 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY = (4, 2) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_NONE = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_START = 0x00000001 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_START_ACK_ALL = 0x00000002 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_TARGETED = 0x00000003 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_GLOBAL = 0x00000004 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_VA_GLOBAL = 0x00000005 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE = (6, 5) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_NONE = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_GLOBALLY = 0x00000001 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_INTRANODE = 0x00000002 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE = (9, 7) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_READ = 0 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_WRITE = 1 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_STRONG = 2 # type: ignore @@ -15071,6 +15373,7 @@ NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_WEAK = 4 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_ALL = 5 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_WRITE_AND_ATOMIC = 6 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ALL = 7 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL = (9, 7) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_ALL = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_PTE_ONLY = 0x00000001 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE0 = 0x00000002 # type: ignore @@ -15079,10 +15382,15 @@ NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE2 = 0x00000004 # type: NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE3 = 0x00000005 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE4 = 0x00000006 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE5 = 0x00000007 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE = (11, 10) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_VID_MEM = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_SYS_MEM_COHERENT = 0x00000002 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_SYS_MEM_NONCOHERENT = 0x00000003 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_ADDR_LO = (31, 12) # type: ignore +NVC86F_MEM_OP_C_ACCESS_COUNTER_CLR_TARGETED_NOTIFY_TAG = (19, 0) # type: ignore NVC86F_MEM_OP_D = (0x00000034) # type: ignore +NVC86F_MEM_OP_D_TLB_INVALIDATE_PDB_ADDR_HI = (26, 0) # type: ignore +NVC86F_MEM_OP_D_OPERATION = (31, 27) # type: ignore NVC86F_MEM_OP_D_OPERATION_MEMBAR = 0x00000005 # type: ignore NVC86F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE = 0x00000009 # type: ignore NVC86F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE_TARGETED = 0x0000000a # type: ignore @@ -15094,32 +15402,50 @@ NVC86F_MEM_OP_D_OPERATION_L2_CLEAN_COMPTAGS = 0x0000000f # type: ignore NVC86F_MEM_OP_D_OPERATION_L2_FLUSH_DIRTY = 0x00000010 # type: ignore NVC86F_MEM_OP_D_OPERATION_L2_WAIT_FOR_SYS_PENDING_READS = 0x00000015 # type: ignore NVC86F_MEM_OP_D_OPERATION_ACCESS_COUNTER_CLR = 0x00000016 # type: ignore +NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE = (1, 0) # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_MIMC = 0x00000000 # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_MOMC = 0x00000001 # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_ALL = 0x00000002 # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_TARGETED = 0x00000003 # type: ignore +NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE = (2, 2) # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE_MIMC = 0x00000000 # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE_MOMC = 0x00000001 # type: ignore +NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_BANK = (6, 3) # type: ignore +NVC86F_MEM_OP_D_MMU_OPERATION_TYPE = (23, 20) # type: ignore NVC86F_MEM_OP_D_MMU_OPERATION_TYPE_RESERVED = 0x00000000 # type: ignore NVC86F_MEM_OP_D_MMU_OPERATION_TYPE_VIDMEM_ACCESS_BIT_DUMP = 0x00000001 # type: ignore BLACKWELL_CHANNEL_GPFIFO_A = (0x0000C96F) # type: ignore NVC96F_SET_OBJECT = (0x00000000) # type: ignore NVC96F_SEM_ADDR_LO = (0x0000005c) # type: ignore +NVC96F_SEM_ADDR_LO_OFFSET = (31, 2) # type: ignore NVC96F_SEM_ADDR_HI = (0x00000060) # type: ignore +NVC96F_SEM_ADDR_HI_OFFSET = (24, 0) # type: ignore NVC96F_SEM_PAYLOAD_LO = (0x00000064) # type: ignore NVC96F_SEM_PAYLOAD_HI = (0x00000068) # type: ignore NVC96F_SEM_EXECUTE = (0x0000006c) # type: ignore +NVC96F_SEM_EXECUTE_OPERATION = (2, 0) # type: ignore NVC96F_SEM_EXECUTE_OPERATION_ACQUIRE = 0x00000000 # type: ignore NVC96F_SEM_EXECUTE_OPERATION_RELEASE = 0x00000001 # type: ignore +NVC96F_SEM_EXECUTE_RELEASE_WFI = (20, 20) # type: ignore NVC96F_SEM_EXECUTE_RELEASE_WFI_DIS = 0x00000000 # type: ignore +NVC96F_SEM_EXECUTE_PAYLOAD_SIZE = (24, 24) # type: ignore NVC96F_SEM_EXECUTE_PAYLOAD_SIZE_32BIT = 0x00000000 # type: ignore NVC96F_GP_ENTRY__SIZE = 8 # type: ignore +NVC96F_GP_ENTRY0_FETCH = (0, 0) # type: ignore NVC96F_GP_ENTRY0_FETCH_UNCONDITIONAL = 0x00000000 # type: ignore NVC96F_GP_ENTRY0_FETCH_CONDITIONAL = 0x00000001 # type: ignore +NVC96F_GP_ENTRY0_GET = (31, 2) # type: ignore +NVC96F_GP_ENTRY0_OPERAND = (31, 0) # type: ignore +NVC96F_GP_ENTRY0_PB_EXTENDED_BASE_OPERAND = (24, 8) # type: ignore +NVC96F_GP_ENTRY1_GET_HI = (7, 0) # type: ignore +NVC96F_GP_ENTRY1_LEVEL = (9, 9) # type: ignore NVC96F_GP_ENTRY1_LEVEL_MAIN = 0x00000000 # type: ignore NVC96F_GP_ENTRY1_LEVEL_SUBROUTINE = 0x00000001 # type: ignore +NVC96F_GP_ENTRY1_LENGTH = (30, 10) # type: ignore +NVC96F_GP_ENTRY1_SYNC = (31, 31) # type: ignore NVC96F_GP_ENTRY1_SYNC_PROCEED = 0x00000000 # type: ignore NVC96F_GP_ENTRY1_SYNC_WAIT = 0x00000001 # type: ignore +NVC96F_GP_ENTRY1_OPCODE = (7, 0) # type: ignore NVC96F_GP_ENTRY1_OPCODE_NOP = 0x00000000 # type: ignore NVC96F_GP_ENTRY1_OPCODE_ILLEGAL = 0x00000001 # type: ignore NVC96F_GP_ENTRY1_OPCODE_GP_CRC = 0x00000002 # type: ignore @@ -15132,41 +15458,66 @@ MAXWELL_PROFILER_DEVICE = (0xb2cc) # type: ignore NVB2CC_ALLOC_PARAMETERS_MESSAGE_ID = (0xb2cc) # type: ignore AMPERE_COMPUTE_A = 0xC6C0 # type: ignore NVC6C0_SET_OBJECT = 0x0000 # type: ignore +NVC6C0_SET_OBJECT_CLASS_ID = (15, 0) # type: ignore +NVC6C0_SET_OBJECT_ENGINE_ID = (20, 16) # type: ignore NVC6C0_NO_OPERATION = 0x0100 # type: ignore +NVC6C0_NO_OPERATION_V = (31, 0) # type: ignore NVC6C0_SET_NOTIFY_A = 0x0104 # type: ignore +NVC6C0_SET_NOTIFY_A_ADDRESS_UPPER = (7, 0) # type: ignore NVC6C0_SET_NOTIFY_B = 0x0108 # type: ignore +NVC6C0_SET_NOTIFY_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_NOTIFY = 0x010c # type: ignore +NVC6C0_NOTIFY_TYPE = (31, 0) # type: ignore NVC6C0_NOTIFY_TYPE_WRITE_ONLY = 0x00000000 # type: ignore NVC6C0_NOTIFY_TYPE_WRITE_THEN_AWAKEN = 0x00000001 # type: ignore NVC6C0_WAIT_FOR_IDLE = 0x0110 # type: ignore +NVC6C0_WAIT_FOR_IDLE_V = (31, 0) # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_A = 0x0130 # type: ignore +NVC6C0_SET_GLOBAL_RENDER_ENABLE_A_OFFSET_UPPER = (7, 0) # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_B = 0x0134 # type: ignore +NVC6C0_SET_GLOBAL_RENDER_ENABLE_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C = 0x0138 # type: ignore +NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE = (2, 0) # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_CONDITIONAL = 0x00000002 # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL = 0x00000003 # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL = 0x00000004 # type: ignore NVC6C0_SEND_GO_IDLE = 0x013c # type: ignore +NVC6C0_SEND_GO_IDLE_V = (31, 0) # type: ignore NVC6C0_PM_TRIGGER = 0x0140 # type: ignore +NVC6C0_PM_TRIGGER_V = (31, 0) # type: ignore NVC6C0_PM_TRIGGER_WFI = 0x0144 # type: ignore +NVC6C0_PM_TRIGGER_WFI_V = (31, 0) # type: ignore NVC6C0_FE_ATOMIC_SEQUENCE_BEGIN = 0x0148 # type: ignore +NVC6C0_FE_ATOMIC_SEQUENCE_BEGIN_V = (31, 0) # type: ignore NVC6C0_FE_ATOMIC_SEQUENCE_END = 0x014c # type: ignore +NVC6C0_FE_ATOMIC_SEQUENCE_END_V = (31, 0) # type: ignore NVC6C0_SET_INSTRUMENTATION_METHOD_HEADER = 0x0150 # type: ignore +NVC6C0_SET_INSTRUMENTATION_METHOD_HEADER_V = (31, 0) # type: ignore NVC6C0_SET_INSTRUMENTATION_METHOD_DATA = 0x0154 # type: ignore +NVC6C0_SET_INSTRUMENTATION_METHOD_DATA_V = (31, 0) # type: ignore NVC6C0_LINE_LENGTH_IN = 0x0180 # type: ignore +NVC6C0_LINE_LENGTH_IN_VALUE = (31, 0) # type: ignore NVC6C0_LINE_COUNT = 0x0184 # type: ignore +NVC6C0_LINE_COUNT_VALUE = (31, 0) # type: ignore NVC6C0_OFFSET_OUT_UPPER = 0x0188 # type: ignore +NVC6C0_OFFSET_OUT_UPPER_VALUE = (16, 0) # type: ignore NVC6C0_OFFSET_OUT = 0x018c # type: ignore +NVC6C0_OFFSET_OUT_VALUE = (31, 0) # type: ignore NVC6C0_PITCH_OUT = 0x0190 # type: ignore +NVC6C0_PITCH_OUT_VALUE = (31, 0) # type: ignore NVC6C0_SET_DST_BLOCK_SIZE = 0x0194 # type: ignore +NVC6C0_SET_DST_BLOCK_SIZE_WIDTH = (3, 0) # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_WIDTH_ONE_GOB = 0x00000000 # type: ignore +NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT = (7, 4) # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_ONE_GOB = 0x00000000 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_TWO_GOBS = 0x00000001 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_FOUR_GOBS = 0x00000002 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_EIGHT_GOBS = 0x00000003 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS = 0x00000004 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS = 0x00000005 # type: ignore +NVC6C0_SET_DST_BLOCK_SIZE_DEPTH = (11, 8) # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_ONE_GOB = 0x00000000 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_TWO_GOBS = 0x00000001 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_FOUR_GOBS = 0x00000002 # type: ignore @@ -15174,23 +15525,35 @@ NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_EIGHT_GOBS = 0x00000003 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS = 0x00000004 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS = 0x00000005 # type: ignore NVC6C0_SET_DST_WIDTH = 0x0198 # type: ignore +NVC6C0_SET_DST_WIDTH_V = (31, 0) # type: ignore NVC6C0_SET_DST_HEIGHT = 0x019c # type: ignore +NVC6C0_SET_DST_HEIGHT_V = (31, 0) # type: ignore NVC6C0_SET_DST_DEPTH = 0x01a0 # type: ignore +NVC6C0_SET_DST_DEPTH_V = (31, 0) # type: ignore NVC6C0_SET_DST_LAYER = 0x01a4 # type: ignore +NVC6C0_SET_DST_LAYER_V = (31, 0) # type: ignore NVC6C0_SET_DST_ORIGIN_BYTES_X = 0x01a8 # type: ignore +NVC6C0_SET_DST_ORIGIN_BYTES_X_V = (20, 0) # type: ignore NVC6C0_SET_DST_ORIGIN_SAMPLES_Y = 0x01ac # type: ignore +NVC6C0_SET_DST_ORIGIN_SAMPLES_Y_V = (16, 0) # type: ignore NVC6C0_LAUNCH_DMA = 0x01b0 # type: ignore +NVC6C0_LAUNCH_DMA_DST_MEMORY_LAYOUT = (0, 0) # type: ignore NVC6C0_LAUNCH_DMA_DST_MEMORY_LAYOUT_BLOCKLINEAR = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_DST_MEMORY_LAYOUT_PITCH = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_COMPLETION_TYPE = (5, 4) # type: ignore NVC6C0_LAUNCH_DMA_COMPLETION_TYPE_FLUSH_DISABLE = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_COMPLETION_TYPE_FLUSH_ONLY = 0x00000001 # type: ignore NVC6C0_LAUNCH_DMA_COMPLETION_TYPE_RELEASE_SEMAPHORE = 0x00000002 # type: ignore +NVC6C0_LAUNCH_DMA_INTERRUPT_TYPE = (9, 8) # type: ignore NVC6C0_LAUNCH_DMA_INTERRUPT_TYPE_NONE = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_INTERRUPT_TYPE_INTERRUPT = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE = (12, 12) # type: ignore NVC6C0_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE_FOUR_WORDS = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE_ONE_WORD = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_REDUCTION_ENABLE = (1, 1) # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_REDUCTION_OP = (15, 13) # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_ADD = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_MIN = 0x00000001 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_MAX = 0x00000002 # type: ignore @@ -15199,93 +15562,164 @@ NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_DEC = 0x00000004 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_AND = 0x00000005 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_OR = 0x00000006 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_XOR = 0x00000007 # type: ignore +NVC6C0_LAUNCH_DMA_REDUCTION_FORMAT = (3, 2) # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_FORMAT_UNSIGNED_32 = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_FORMAT_SIGNED_32 = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_SYSMEMBAR_DISABLE = (6, 6) # type: ignore NVC6C0_LAUNCH_DMA_SYSMEMBAR_DISABLE_FALSE = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_SYSMEMBAR_DISABLE_TRUE = 0x00000001 # type: ignore NVC6C0_LOAD_INLINE_DATA = 0x01b4 # type: ignore +NVC6C0_LOAD_INLINE_DATA_V = (31, 0) # type: ignore NVC6C0_SET_I2M_SEMAPHORE_A = 0x01dc # type: ignore +NVC6C0_SET_I2M_SEMAPHORE_A_OFFSET_UPPER = (7, 0) # type: ignore NVC6C0_SET_I2M_SEMAPHORE_B = 0x01e0 # type: ignore +NVC6C0_SET_I2M_SEMAPHORE_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_I2M_SEMAPHORE_C = 0x01e4 # type: ignore +NVC6C0_SET_I2M_SEMAPHORE_C_PAYLOAD = (31, 0) # type: ignore NVC6C0_SET_SM_SCG_CONTROL = 0x01e8 # type: ignore +NVC6C0_SET_SM_SCG_CONTROL_COMPUTE_IN_GRAPHICS = (0, 0) # type: ignore NVC6C0_SET_SM_SCG_CONTROL_COMPUTE_IN_GRAPHICS_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SM_SCG_CONTROL_COMPUTE_IN_GRAPHICS_TRUE = 0x00000001 # type: ignore NVC6C0_SET_I2M_SPARE_NOOP00 = 0x01f0 # type: ignore +NVC6C0_SET_I2M_SPARE_NOOP00_V = (31, 0) # type: ignore NVC6C0_SET_I2M_SPARE_NOOP01 = 0x01f4 # type: ignore +NVC6C0_SET_I2M_SPARE_NOOP01_V = (31, 0) # type: ignore NVC6C0_SET_I2M_SPARE_NOOP02 = 0x01f8 # type: ignore +NVC6C0_SET_I2M_SPARE_NOOP02_V = (31, 0) # type: ignore NVC6C0_SET_I2M_SPARE_NOOP03 = 0x01fc # type: ignore +NVC6C0_SET_I2M_SPARE_NOOP03_V = (31, 0) # type: ignore NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_A = 0x0200 # type: ignore +NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_A_ADDRESS_UPPER = (7, 0) # type: ignore NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_B = 0x0204 # type: ignore +NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_C = 0x0208 # type: ignore +NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_C_SIZE = (31, 0) # type: ignore NVC6C0_PERFMON_TRANSFER = 0x0210 # type: ignore +NVC6C0_PERFMON_TRANSFER_V = (31, 0) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_BASE_A = 0x0214 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_BASE_A_ADDRESS_UPPER = (7, 0) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_BASE_B = 0x0218 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_BASE_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES = 0x021c # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_INSTRUCTION = (0, 0) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_INSTRUCTION_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_INSTRUCTION_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_DATA = (4, 4) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_DATA_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_DATA_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_CONSTANT = (12, 12) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_CONSTANT_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_CONSTANT_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_LOCKS = (1, 1) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_LOCKS_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_LOCKS_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_FLUSH_DATA = (2, 2) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_FLUSH_DATA_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_FLUSH_DATA_TRUE = 0x00000001 # type: ignore NVC6C0_SET_RESERVED_SW_METHOD00 = 0x0220 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD00_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD01 = 0x0224 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD01_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD02 = 0x0228 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD02_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD03 = 0x022c # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD03_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD04 = 0x0230 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD04_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD05 = 0x0234 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD05_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD06 = 0x0238 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD06_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD07 = 0x023c # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD07_V = (31, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI = 0x0244 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_TAG = (25, 4) # type: ignore NVC6C0_SET_CWD_REF_COUNTER = 0x0248 # type: ignore +NVC6C0_SET_CWD_REF_COUNTER_SELECT = (5, 0) # type: ignore +NVC6C0_SET_CWD_REF_COUNTER_VALUE = (23, 8) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD08 = 0x024c # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD08_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD09 = 0x0250 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD09_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD10 = 0x0254 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD10_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD11 = 0x0258 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD11_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD12 = 0x025c # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD12_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD13 = 0x0260 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD13_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD14 = 0x0264 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD14_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD15 = 0x0268 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD15_V = (31, 0) # type: ignore NVC6C0_SET_SCG_CONTROL = 0x0270 # type: ignore +NVC6C0_SET_SCG_CONTROL_COMPUTE1_MAX_SM_COUNT = (8, 0) # type: ignore +NVC6C0_SET_SCG_CONTROL_COMPUTE1_MIN_SM_COUNT = (20, 12) # type: ignore +NVC6C0_SET_SCG_CONTROL_DISABLE_COMPUTE1_LIMIT_IN_ALL_COMPUTE = (24, 24) # type: ignore NVC6C0_SET_SCG_CONTROL_DISABLE_COMPUTE1_LIMIT_IN_ALL_COMPUTE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SCG_CONTROL_DISABLE_COMPUTE1_LIMIT_IN_ALL_COMPUTE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_COMPUTE_CLASS_VERSION = 0x0280 # type: ignore +NVC6C0_SET_COMPUTE_CLASS_VERSION_CURRENT = (15, 0) # type: ignore +NVC6C0_SET_COMPUTE_CLASS_VERSION_OLDEST_SUPPORTED = (31, 16) # type: ignore NVC6C0_CHECK_COMPUTE_CLASS_VERSION = 0x0284 # type: ignore +NVC6C0_CHECK_COMPUTE_CLASS_VERSION_CURRENT = (15, 0) # type: ignore +NVC6C0_CHECK_COMPUTE_CLASS_VERSION_OLDEST_SUPPORTED = (31, 16) # type: ignore NVC6C0_SET_QMD_VERSION = 0x0288 # type: ignore +NVC6C0_SET_QMD_VERSION_CURRENT = (15, 0) # type: ignore +NVC6C0_SET_QMD_VERSION_OLDEST_SUPPORTED = (31, 16) # type: ignore NVC6C0_CHECK_QMD_VERSION = 0x0290 # type: ignore +NVC6C0_CHECK_QMD_VERSION_CURRENT = (15, 0) # type: ignore +NVC6C0_CHECK_QMD_VERSION_OLDEST_SUPPORTED = (31, 16) # type: ignore NVC6C0_INVALIDATE_SKED_CACHES = 0x0298 # type: ignore +NVC6C0_INVALIDATE_SKED_CACHES_V = (0, 0) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL = 0x029c # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_CONSTANT_BUFFER_MASK = (7, 0) # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_ADDR_ENABLE = (8, 8) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_ADDR_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_ADDR_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_CONSTANT_BUFFER_ENABLE = (12, 12) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_CONSTANT_BUFFER_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_CONSTANT_BUFFER_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_ADDR_ENABLE = (16, 16) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_ADDR_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_ADDR_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_CONSTANT_BUFFER_ENABLE = (20, 20) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_CONSTANT_BUFFER_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_CONSTANT_BUFFER_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_SEND_PCAS_ENABLE = (24, 24) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_SEND_PCAS_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_SEND_PCAS_ENABLE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_SHADER_SHARED_MEMORY_WINDOW_A = 0x02a0 # type: ignore +NVC6C0_SET_SHADER_SHARED_MEMORY_WINDOW_A_BASE_ADDRESS_UPPER = (16, 0) # type: ignore NVC6C0_SET_SHADER_SHARED_MEMORY_WINDOW_B = 0x02a4 # type: ignore +NVC6C0_SET_SHADER_SHARED_MEMORY_WINDOW_B_BASE_ADDRESS = (31, 0) # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL = 0x02a8 # type: ignore +NVC6C0_SCG_HYSTERESIS_CONTROL_USE_TIMEOUT_ONCE = (0, 0) # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL_USE_TIMEOUT_ONCE_FALSE = 0x00000000 # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL_USE_TIMEOUT_ONCE_TRUE = 0x00000001 # type: ignore +NVC6C0_SCG_HYSTERESIS_CONTROL_USE_NULL_TIMEOUT_ONCE = (1, 1) # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL_USE_NULL_TIMEOUT_ONCE_FALSE = 0x00000000 # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL_USE_NULL_TIMEOUT_ONCE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_CWD_SLOT_COUNT = 0x02b0 # type: ignore +NVC6C0_SET_CWD_SLOT_COUNT_V = (7, 0) # type: ignore NVC6C0_SEND_PCAS_A = 0x02b4 # type: ignore +NVC6C0_SEND_PCAS_A_QMD_ADDRESS_SHIFTED8 = (31, 0) # type: ignore NVC6C0_SEND_PCAS_B = 0x02b8 # type: ignore +NVC6C0_SEND_PCAS_B_FROM = (23, 0) # type: ignore +NVC6C0_SEND_PCAS_B_DELTA = (31, 24) # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B = 0x02bc # type: ignore +NVC6C0_SEND_SIGNALING_PCAS_B_INVALIDATE = (0, 0) # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B_INVALIDATE_FALSE = 0x00000000 # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B_INVALIDATE_TRUE = 0x00000001 # type: ignore +NVC6C0_SEND_SIGNALING_PCAS_B_SCHEDULE = (1, 1) # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B_SCHEDULE_FALSE = 0x00000000 # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B_SCHEDULE_TRUE = 0x00000001 # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B = 0x02c0 # type: ignore +NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION = (3, 0) # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_NOP = 0x00000000 # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_INVALIDATE = 0x00000001 # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_SCHEDULE = 0x00000002 # type: ignore @@ -15297,105 +15731,176 @@ NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_PREFETCH_SCHEDULE = 0x00000009 # type: NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_INVALIDATE_PREFETCH_COPY_SCHEDULE = 0x0000000A # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_INVALIDATE_PREFETCH_COPY_FORCE_REQUIRE_SCHEDULING = 0x0000000B # type: ignore NVC6C0_SET_SKED_CACHE_CONTROL = 0x02cc # type: ignore +NVC6C0_SET_SKED_CACHE_CONTROL_IGNORE_VEID = (0, 0) # type: ignore NVC6C0_SET_SKED_CACHE_CONTROL_IGNORE_VEID_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SKED_CACHE_CONTROL_IGNORE_VEID_TRUE = 0x00000001 # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_A = 0x02e4 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_A_SIZE_UPPER = (7, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_B = 0x02e8 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_B_SIZE_LOWER = (31, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_C = 0x02ec # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_C_MAX_SM_COUNT = (8, 0) # type: ignore NVC6C0_SET_SPA_VERSION = 0x0310 # type: ignore +NVC6C0_SET_SPA_VERSION_MINOR = (7, 0) # type: ignore +NVC6C0_SET_SPA_VERSION_MAJOR = (15, 8) # type: ignore NVC6C0_SET_INLINE_QMD_ADDRESS_A = 0x0318 # type: ignore +NVC6C0_SET_INLINE_QMD_ADDRESS_A_QMD_ADDRESS_SHIFTED8_UPPER = (31, 0) # type: ignore NVC6C0_SET_INLINE_QMD_ADDRESS_B = 0x031c # type: ignore +NVC6C0_SET_INLINE_QMD_ADDRESS_B_QMD_ADDRESS_SHIFTED8_LOWER = (31, 0) # type: ignore NVC6C0_LOAD_INLINE_QMD_DATA = lambda i: (0x0320+(i)*4) # type: ignore +NVC6C0_LOAD_INLINE_QMD_DATA_V = (31, 0) # type: ignore NVC6C0_SET_FALCON00 = 0x0500 # type: ignore +NVC6C0_SET_FALCON00_V = (31, 0) # type: ignore NVC6C0_SET_FALCON01 = 0x0504 # type: ignore +NVC6C0_SET_FALCON01_V = (31, 0) # type: ignore NVC6C0_SET_FALCON02 = 0x0508 # type: ignore +NVC6C0_SET_FALCON02_V = (31, 0) # type: ignore NVC6C0_SET_FALCON03 = 0x050c # type: ignore +NVC6C0_SET_FALCON03_V = (31, 0) # type: ignore NVC6C0_SET_FALCON04 = 0x0510 # type: ignore +NVC6C0_SET_FALCON04_V = (31, 0) # type: ignore NVC6C0_SET_FALCON05 = 0x0514 # type: ignore +NVC6C0_SET_FALCON05_V = (31, 0) # type: ignore NVC6C0_SET_FALCON06 = 0x0518 # type: ignore +NVC6C0_SET_FALCON06_V = (31, 0) # type: ignore NVC6C0_SET_FALCON07 = 0x051c # type: ignore +NVC6C0_SET_FALCON07_V = (31, 0) # type: ignore NVC6C0_SET_FALCON08 = 0x0520 # type: ignore +NVC6C0_SET_FALCON08_V = (31, 0) # type: ignore NVC6C0_SET_FALCON09 = 0x0524 # type: ignore +NVC6C0_SET_FALCON09_V = (31, 0) # type: ignore NVC6C0_SET_FALCON10 = 0x0528 # type: ignore +NVC6C0_SET_FALCON10_V = (31, 0) # type: ignore NVC6C0_SET_FALCON11 = 0x052c # type: ignore +NVC6C0_SET_FALCON11_V = (31, 0) # type: ignore NVC6C0_SET_FALCON12 = 0x0530 # type: ignore +NVC6C0_SET_FALCON12_V = (31, 0) # type: ignore NVC6C0_SET_FALCON13 = 0x0534 # type: ignore +NVC6C0_SET_FALCON13_V = (31, 0) # type: ignore NVC6C0_SET_FALCON14 = 0x0538 # type: ignore +NVC6C0_SET_FALCON14_V = (31, 0) # type: ignore NVC6C0_SET_FALCON15 = 0x053c # type: ignore +NVC6C0_SET_FALCON15_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_A = 0x0790 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_A_ADDRESS_UPPER = (16, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_B = 0x0794 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_WINDOW_A = 0x07b0 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_WINDOW_A_BASE_ADDRESS_UPPER = (16, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_WINDOW_B = 0x07b4 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_WINDOW_B_BASE_ADDRESS = (31, 0) # type: ignore NVC6C0_SET_SHADER_CACHE_CONTROL = 0x0d94 # type: ignore +NVC6C0_SET_SHADER_CACHE_CONTROL_ICACHE_PREFETCH_ENABLE = (0, 0) # type: ignore NVC6C0_SET_SHADER_CACHE_CONTROL_ICACHE_PREFETCH_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SHADER_CACHE_CONTROL_ICACHE_PREFETCH_ENABLE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_SCG_COMPUTE_SCHEDULING_PARAMETERS = lambda i: (0x0da0+(i)*4) # type: ignore +NVC6C0_SET_SCG_COMPUTE_SCHEDULING_PARAMETERS_V = (31, 0) # type: ignore NVC6C0_SET_SM_TIMEOUT_INTERVAL = 0x0de4 # type: ignore +NVC6C0_SET_SM_TIMEOUT_INTERVAL_COUNTER_BIT = (5, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI = 0x1288 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_TAG = (25, 4) # type: ignore NVC6C0_ACTIVATE_PERF_SETTINGS_FOR_COMPUTE_CONTEXT = 0x12a8 # type: ignore +NVC6C0_ACTIVATE_PERF_SETTINGS_FOR_COMPUTE_CONTEXT_ALL = (0, 0) # type: ignore NVC6C0_ACTIVATE_PERF_SETTINGS_FOR_COMPUTE_CONTEXT_ALL_FALSE = 0x00000000 # type: ignore NVC6C0_ACTIVATE_PERF_SETTINGS_FOR_COMPUTE_CONTEXT_ALL_TRUE = 0x00000001 # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE = 0x1330 # type: ignore +NVC6C0_INVALIDATE_SAMPLER_CACHE_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SAMPLER_CACHE_TAG = (25, 4) # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE = 0x1334 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_TAG = (25, 4) # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE = 0x1338 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_TAG = (25, 4) # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI = 0x1424 # type: ignore +NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI_TAG = (25, 4) # type: ignore NVC6C0_SET_SHADER_EXCEPTIONS = 0x1528 # type: ignore +NVC6C0_SET_SHADER_EXCEPTIONS_ENABLE = (0, 0) # type: ignore NVC6C0_SET_SHADER_EXCEPTIONS_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SHADER_EXCEPTIONS_ENABLE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_RENDER_ENABLE_A = 0x1550 # type: ignore +NVC6C0_SET_RENDER_ENABLE_A_OFFSET_UPPER = (7, 0) # type: ignore NVC6C0_SET_RENDER_ENABLE_B = 0x1554 # type: ignore +NVC6C0_SET_RENDER_ENABLE_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_RENDER_ENABLE_C = 0x1558 # type: ignore +NVC6C0_SET_RENDER_ENABLE_C_MODE = (2, 0) # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_CONDITIONAL = 0x00000002 # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL = 0x00000003 # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL = 0x00000004 # type: ignore NVC6C0_SET_TEX_SAMPLER_POOL_A = 0x155c # type: ignore +NVC6C0_SET_TEX_SAMPLER_POOL_A_OFFSET_UPPER = (16, 0) # type: ignore NVC6C0_SET_TEX_SAMPLER_POOL_B = 0x1560 # type: ignore +NVC6C0_SET_TEX_SAMPLER_POOL_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_TEX_SAMPLER_POOL_C = 0x1564 # type: ignore +NVC6C0_SET_TEX_SAMPLER_POOL_C_MAXIMUM_INDEX = (19, 0) # type: ignore NVC6C0_SET_TEX_HEADER_POOL_A = 0x1574 # type: ignore +NVC6C0_SET_TEX_HEADER_POOL_A_OFFSET_UPPER = (16, 0) # type: ignore NVC6C0_SET_TEX_HEADER_POOL_B = 0x1578 # type: ignore +NVC6C0_SET_TEX_HEADER_POOL_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_TEX_HEADER_POOL_C = 0x157c # type: ignore +NVC6C0_SET_TEX_HEADER_POOL_C_MAXIMUM_INDEX = (21, 0) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI = 0x1698 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_INSTRUCTION = (0, 0) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_INSTRUCTION_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_INSTRUCTION_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_GLOBAL_DATA = (4, 4) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_GLOBAL_DATA_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_GLOBAL_DATA_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_CONSTANT = (12, 12) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_CONSTANT_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_CONSTANT_TRUE = 0x00000001 # type: ignore NVC6C0_SET_RENDER_ENABLE_OVERRIDE = 0x1944 # type: ignore +NVC6C0_SET_RENDER_ENABLE_OVERRIDE_MODE = (1, 0) # type: ignore NVC6C0_SET_RENDER_ENABLE_OVERRIDE_MODE_USE_RENDER_ENABLE = 0x00000000 # type: ignore NVC6C0_SET_RENDER_ENABLE_OVERRIDE_MODE_ALWAYS_RENDER = 0x00000001 # type: ignore NVC6C0_SET_RENDER_ENABLE_OVERRIDE_MODE_NEVER_RENDER = 0x00000002 # type: ignore NVC6C0_PIPE_NOP = 0x1a2c # type: ignore +NVC6C0_PIPE_NOP_V = (31, 0) # type: ignore NVC6C0_SET_SPARE00 = 0x1a30 # type: ignore +NVC6C0_SET_SPARE00_V = (31, 0) # type: ignore NVC6C0_SET_SPARE01 = 0x1a34 # type: ignore +NVC6C0_SET_SPARE01_V = (31, 0) # type: ignore NVC6C0_SET_SPARE02 = 0x1a38 # type: ignore +NVC6C0_SET_SPARE02_V = (31, 0) # type: ignore NVC6C0_SET_SPARE03 = 0x1a3c # type: ignore +NVC6C0_SET_SPARE03_V = (31, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_A = 0x1b00 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_A_OFFSET_UPPER = (7, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_B = 0x1b04 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_C = 0x1b08 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_C_PAYLOAD = (31, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D = 0x1b0c # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_OPERATION = (1, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_OPERATION_RELEASE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_OPERATION_TRAP = 0x00000003 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_AWAKEN_ENABLE = (20, 20) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_AWAKEN_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_AWAKEN_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_STRUCTURE_SIZE = (28, 28) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_STRUCTURE_SIZE_FOUR_WORDS = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_STRUCTURE_SIZE_ONE_WORD = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_FLUSH_DISABLE = (2, 2) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_FLUSH_DISABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_FLUSH_DISABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_ENABLE = (3, 3) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP = (11, 9) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_ADD = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_MIN = 0x00000001 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_MAX = 0x00000002 # type: ignore @@ -15404,82 +15909,146 @@ NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_DEC = 0x00000004 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_AND = 0x00000005 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_OR = 0x00000006 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_XOR = 0x00000007 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_FORMAT = (18, 17) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_FORMAT_UNSIGNED_32 = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_FORMAT_SIGNED_32 = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_CONDITIONAL_TRAP = (19, 19) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_CONDITIONAL_TRAP_FALSE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_CONDITIONAL_TRAP_TRUE = 0x00000001 # type: ignore NVC6C0_SET_TRAP_HANDLER_A = 0x25f8 # type: ignore +NVC6C0_SET_TRAP_HANDLER_A_ADDRESS_UPPER = (16, 0) # type: ignore NVC6C0_SET_TRAP_HANDLER_B = 0x25fc # type: ignore +NVC6C0_SET_TRAP_HANDLER_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_SET_BINDLESS_TEXTURE = 0x2608 # type: ignore +NVC6C0_SET_BINDLESS_TEXTURE_CONSTANT_BUFFER_SLOT_SELECT = (2, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE = lambda i: (0x32f4+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE_UPPER = lambda i: (0x3314+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE_UPPER_V = (31, 0) # type: ignore NVC6C0_ENABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER = 0x3334 # type: ignore +NVC6C0_ENABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_V = (0, 0) # type: ignore NVC6C0_DISABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER = 0x3338 # type: ignore +NVC6C0_DISABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_V = (0, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_VALUE_UPPER = lambda i: (0x333c+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_VALUE_UPPER_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_VALUE = lambda i: (0x335c+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_VALUE_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_EVENT = lambda i: (0x337c+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_EVENT_EVENT = (7, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A = lambda i: (0x339c+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT0 = (1, 0) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT0 = (4, 2) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT1 = (6, 5) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT1 = (9, 7) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT2 = (11, 10) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT2 = (14, 12) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT3 = (16, 15) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT3 = (19, 17) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT4 = (21, 20) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT4 = (24, 22) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT5 = (26, 25) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT5 = (29, 27) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_SPARE = (31, 30) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B = lambda i: (0x33bc+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_EDGE = (0, 0) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_MODE = (2, 1) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_WINDOWED = (3, 3) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_FUNC = (19, 4) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_TRAP_CONTROL = 0x33dc # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_TRAP_CONTROL_MASK = (7, 0) # type: ignore NVC6C0_START_SHADER_PERFORMANCE_COUNTER = 0x33e0 # type: ignore +NVC6C0_START_SHADER_PERFORMANCE_COUNTER_COUNTER_MASK = (7, 0) # type: ignore NVC6C0_STOP_SHADER_PERFORMANCE_COUNTER = 0x33e4 # type: ignore +NVC6C0_STOP_SHADER_PERFORMANCE_COUNTER_COUNTER_MASK = (7, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_SCTL_FILTER = 0x33e8 # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_SCTL_FILTER_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CORE_MIO_FILTER = 0x33ec # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CORE_MIO_FILTER_V = (31, 0) # type: ignore NVC6C0_SET_MME_SHADOW_SCRATCH = lambda i: (0x3400+(i)*4) # type: ignore +NVC6C0_SET_MME_SHADOW_SCRATCH_V = (31, 0) # type: ignore BLACKWELL_COMPUTE_A = 0xCDC0 # type: ignore AMPERE_DMA_COPY_A = (0x0000C6B5) # type: ignore NVC6B5_NOP = (0x00000100) # type: ignore +NVC6B5_NOP_PARAMETER = (31, 0) # type: ignore NVC6B5_PM_TRIGGER = (0x00000140) # type: ignore +NVC6B5_PM_TRIGGER_V = (31, 0) # type: ignore NVC6B5_SET_SEMAPHORE_A = (0x00000240) # type: ignore +NVC6B5_SET_SEMAPHORE_A_UPPER = (16, 0) # type: ignore NVC6B5_SET_SEMAPHORE_B = (0x00000244) # type: ignore +NVC6B5_SET_SEMAPHORE_B_LOWER = (31, 0) # type: ignore NVC6B5_SET_SEMAPHORE_PAYLOAD = (0x00000248) # type: ignore +NVC6B5_SET_SEMAPHORE_PAYLOAD_PAYLOAD = (31, 0) # type: ignore NVC6B5_SET_RENDER_ENABLE_A = (0x00000254) # type: ignore +NVC6B5_SET_RENDER_ENABLE_A_UPPER = (7, 0) # type: ignore NVC6B5_SET_RENDER_ENABLE_B = (0x00000258) # type: ignore +NVC6B5_SET_RENDER_ENABLE_B_LOWER = (31, 0) # type: ignore NVC6B5_SET_RENDER_ENABLE_C = (0x0000025C) # type: ignore +NVC6B5_SET_RENDER_ENABLE_C_MODE = (2, 0) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_FALSE = (0x00000000) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_TRUE = (0x00000001) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_CONDITIONAL = (0x00000002) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL = (0x00000003) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL = (0x00000004) # type: ignore NVC6B5_SET_SRC_PHYS_MODE = (0x00000260) # type: ignore +NVC6B5_SET_SRC_PHYS_MODE_TARGET = (1, 0) # type: ignore NVC6B5_SET_SRC_PHYS_MODE_TARGET_LOCAL_FB = (0x00000000) # type: ignore NVC6B5_SET_SRC_PHYS_MODE_TARGET_COHERENT_SYSMEM = (0x00000001) # type: ignore NVC6B5_SET_SRC_PHYS_MODE_TARGET_NONCOHERENT_SYSMEM = (0x00000002) # type: ignore NVC6B5_SET_SRC_PHYS_MODE_TARGET_PEERMEM = (0x00000003) # type: ignore +NVC6B5_SET_SRC_PHYS_MODE_BASIC_KIND = (5, 2) # type: ignore +NVC6B5_SET_SRC_PHYS_MODE_PEER_ID = (8, 6) # type: ignore +NVC6B5_SET_SRC_PHYS_MODE_FLA = (9, 9) # type: ignore NVC6B5_SET_DST_PHYS_MODE = (0x00000264) # type: ignore +NVC6B5_SET_DST_PHYS_MODE_TARGET = (1, 0) # type: ignore NVC6B5_SET_DST_PHYS_MODE_TARGET_LOCAL_FB = (0x00000000) # type: ignore NVC6B5_SET_DST_PHYS_MODE_TARGET_COHERENT_SYSMEM = (0x00000001) # type: ignore NVC6B5_SET_DST_PHYS_MODE_TARGET_NONCOHERENT_SYSMEM = (0x00000002) # type: ignore NVC6B5_SET_DST_PHYS_MODE_TARGET_PEERMEM = (0x00000003) # type: ignore +NVC6B5_SET_DST_PHYS_MODE_BASIC_KIND = (5, 2) # type: ignore +NVC6B5_SET_DST_PHYS_MODE_PEER_ID = (8, 6) # type: ignore +NVC6B5_SET_DST_PHYS_MODE_FLA = (9, 9) # type: ignore NVC6B5_LAUNCH_DMA = (0x00000300) # type: ignore +NVC6B5_LAUNCH_DMA_DATA_TRANSFER_TYPE = (1, 0) # type: ignore NVC6B5_LAUNCH_DMA_DATA_TRANSFER_TYPE_NONE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_DATA_TRANSFER_TYPE_PIPELINED = (0x00000001) # type: ignore NVC6B5_LAUNCH_DMA_DATA_TRANSFER_TYPE_NON_PIPELINED = (0x00000002) # type: ignore +NVC6B5_LAUNCH_DMA_FLUSH_ENABLE = (2, 2) # type: ignore NVC6B5_LAUNCH_DMA_FLUSH_ENABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_FLUSH_ENABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_FLUSH_TYPE = (25, 25) # type: ignore NVC6B5_LAUNCH_DMA_FLUSH_TYPE_SYS = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_FLUSH_TYPE_GL = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE = (4, 3) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE_NONE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_ONE_WORD_SEMAPHORE = (0x00000001) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_FOUR_WORD_SEMAPHORE = (0x00000002) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_CONDITIONAL_INTR_SEMAPHORE = (0x00000003) # type: ignore +NVC6B5_LAUNCH_DMA_INTERRUPT_TYPE = (6, 5) # type: ignore NVC6B5_LAUNCH_DMA_INTERRUPT_TYPE_NONE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_INTERRUPT_TYPE_BLOCKING = (0x00000001) # type: ignore NVC6B5_LAUNCH_DMA_INTERRUPT_TYPE_NON_BLOCKING = (0x00000002) # type: ignore +NVC6B5_LAUNCH_DMA_SRC_MEMORY_LAYOUT = (7, 7) # type: ignore NVC6B5_LAUNCH_DMA_SRC_MEMORY_LAYOUT_BLOCKLINEAR = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SRC_MEMORY_LAYOUT_PITCH = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_DST_MEMORY_LAYOUT = (8, 8) # type: ignore NVC6B5_LAUNCH_DMA_DST_MEMORY_LAYOUT_BLOCKLINEAR = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_DST_MEMORY_LAYOUT_PITCH = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_MULTI_LINE_ENABLE = (9, 9) # type: ignore NVC6B5_LAUNCH_DMA_MULTI_LINE_ENABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_MULTI_LINE_ENABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_REMAP_ENABLE = (10, 10) # type: ignore NVC6B5_LAUNCH_DMA_REMAP_ENABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_REMAP_ENABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_FORCE_RMWDISABLE = (11, 11) # type: ignore NVC6B5_LAUNCH_DMA_FORCE_RMWDISABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_FORCE_RMWDISABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_SRC_TYPE = (12, 12) # type: ignore NVC6B5_LAUNCH_DMA_SRC_TYPE_VIRTUAL = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SRC_TYPE_PHYSICAL = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_DST_TYPE = (13, 13) # type: ignore NVC6B5_LAUNCH_DMA_DST_TYPE_VIRTUAL = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_DST_TYPE_PHYSICAL = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION = (17, 14) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IMIN = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IMAX = (0x00000001) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IXOR = (0x00000002) # type: ignore @@ -15489,25 +16058,42 @@ NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IADD = (0x00000005) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_INC = (0x00000006) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_DEC = (0x00000007) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_FADD = (0x0000000A) # type: ignore +NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_SIGN = (18, 18) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_SIGN_SIGNED = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_SIGN_UNSIGNED = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_ENABLE = (19, 19) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_ENABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_ENABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_VPRMODE = (23, 22) # type: ignore NVC6B5_LAUNCH_DMA_VPRMODE_VPR_NONE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_VPRMODE_VPR_VID2VID = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_RESERVED_START_OF_COPY = (24, 24) # type: ignore +NVC6B5_LAUNCH_DMA_DISABLE_PLC = (26, 26) # type: ignore NVC6B5_LAUNCH_DMA_DISABLE_PLC_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_DISABLE_PLC_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_RESERVED_ERR_CODE = (31, 28) # type: ignore NVC6B5_OFFSET_IN_UPPER = (0x00000400) # type: ignore +NVC6B5_OFFSET_IN_UPPER_UPPER = (16, 0) # type: ignore NVC6B5_OFFSET_IN_LOWER = (0x00000404) # type: ignore +NVC6B5_OFFSET_IN_LOWER_VALUE = (31, 0) # type: ignore NVC6B5_OFFSET_OUT_UPPER = (0x00000408) # type: ignore +NVC6B5_OFFSET_OUT_UPPER_UPPER = (16, 0) # type: ignore NVC6B5_OFFSET_OUT_LOWER = (0x0000040C) # type: ignore +NVC6B5_OFFSET_OUT_LOWER_VALUE = (31, 0) # type: ignore NVC6B5_PITCH_IN = (0x00000410) # type: ignore +NVC6B5_PITCH_IN_VALUE = (31, 0) # type: ignore NVC6B5_PITCH_OUT = (0x00000414) # type: ignore +NVC6B5_PITCH_OUT_VALUE = (31, 0) # type: ignore NVC6B5_LINE_LENGTH_IN = (0x00000418) # type: ignore +NVC6B5_LINE_LENGTH_IN_VALUE = (31, 0) # type: ignore NVC6B5_LINE_COUNT = (0x0000041C) # type: ignore +NVC6B5_LINE_COUNT_VALUE = (31, 0) # type: ignore NVC6B5_SET_REMAP_CONST_A = (0x00000700) # type: ignore +NVC6B5_SET_REMAP_CONST_A_V = (31, 0) # type: ignore NVC6B5_SET_REMAP_CONST_B = (0x00000704) # type: ignore +NVC6B5_SET_REMAP_CONST_B_V = (31, 0) # type: ignore NVC6B5_SET_REMAP_COMPONENTS = (0x00000708) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_DST_X = (2, 0) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_SRC_X = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_SRC_Y = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_SRC_Z = (0x00000002) # type: ignore @@ -15515,6 +16101,7 @@ NVC6B5_SET_REMAP_COMPONENTS_DST_X_SRC_W = (0x00000003) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_CONST_A = (0x00000004) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_CONST_B = (0x00000005) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_NO_WRITE = (0x00000006) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_DST_Y = (6, 4) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_SRC_X = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_SRC_Y = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_SRC_Z = (0x00000002) # type: ignore @@ -15522,6 +16109,7 @@ NVC6B5_SET_REMAP_COMPONENTS_DST_Y_SRC_W = (0x00000003) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_CONST_A = (0x00000004) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_CONST_B = (0x00000005) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_NO_WRITE = (0x00000006) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_DST_Z = (10, 8) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_SRC_X = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_SRC_Y = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_SRC_Z = (0x00000002) # type: ignore @@ -15529,6 +16117,7 @@ NVC6B5_SET_REMAP_COMPONENTS_DST_Z_SRC_W = (0x00000003) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_CONST_A = (0x00000004) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_CONST_B = (0x00000005) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_NO_WRITE = (0x00000006) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_DST_W = (14, 12) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_SRC_X = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_SRC_Y = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_SRC_Z = (0x00000002) # type: ignore @@ -15536,124 +16125,185 @@ NVC6B5_SET_REMAP_COMPONENTS_DST_W_SRC_W = (0x00000003) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_CONST_A = (0x00000004) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_CONST_B = (0x00000005) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_NO_WRITE = (0x00000006) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE = (17, 16) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_ONE = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_TWO = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_THREE = (0x00000002) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_FOUR = (0x00000003) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS = (21, 20) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_ONE = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_TWO = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_THREE = (0x00000002) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_FOUR = (0x00000003) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS = (25, 24) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_ONE = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_TWO = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_THREE = (0x00000002) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_FOUR = (0x00000003) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE = (0x0000070C) # type: ignore +NVC6B5_SET_DST_BLOCK_SIZE_WIDTH = (3, 0) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_WIDTH_ONE_GOB = (0x00000000) # type: ignore +NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT = (7, 4) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_ONE_GOB = (0x00000000) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_TWO_GOBS = (0x00000001) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_FOUR_GOBS = (0x00000002) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_EIGHT_GOBS = (0x00000003) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC6B5_SET_DST_BLOCK_SIZE_DEPTH = (11, 8) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_ONE_GOB = (0x00000000) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_TWO_GOBS = (0x00000001) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_FOUR_GOBS = (0x00000002) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_EIGHT_GOBS = (0x00000003) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC6B5_SET_DST_BLOCK_SIZE_GOB_HEIGHT = (15, 12) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_GOB_HEIGHT_GOB_HEIGHT_FERMI_8 = (0x00000001) # type: ignore NVC6B5_SET_DST_WIDTH = (0x00000710) # type: ignore +NVC6B5_SET_DST_WIDTH_V = (31, 0) # type: ignore NVC6B5_SET_DST_HEIGHT = (0x00000714) # type: ignore +NVC6B5_SET_DST_HEIGHT_V = (31, 0) # type: ignore NVC6B5_SET_DST_DEPTH = (0x00000718) # type: ignore +NVC6B5_SET_DST_DEPTH_V = (31, 0) # type: ignore NVC6B5_SET_DST_LAYER = (0x0000071C) # type: ignore +NVC6B5_SET_DST_LAYER_V = (31, 0) # type: ignore NVC6B5_SET_DST_ORIGIN = (0x00000720) # type: ignore +NVC6B5_SET_DST_ORIGIN_X = (15, 0) # type: ignore +NVC6B5_SET_DST_ORIGIN_Y = (31, 16) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE = (0x00000728) # type: ignore +NVC6B5_SET_SRC_BLOCK_SIZE_WIDTH = (3, 0) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_WIDTH_ONE_GOB = (0x00000000) # type: ignore +NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT = (7, 4) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_ONE_GOB = (0x00000000) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_TWO_GOBS = (0x00000001) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_FOUR_GOBS = (0x00000002) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_EIGHT_GOBS = (0x00000003) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH = (11, 8) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_ONE_GOB = (0x00000000) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_TWO_GOBS = (0x00000001) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_FOUR_GOBS = (0x00000002) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_EIGHT_GOBS = (0x00000003) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC6B5_SET_SRC_BLOCK_SIZE_GOB_HEIGHT = (15, 12) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_GOB_HEIGHT_GOB_HEIGHT_FERMI_8 = (0x00000001) # type: ignore NVC6B5_SET_SRC_WIDTH = (0x0000072C) # type: ignore +NVC6B5_SET_SRC_WIDTH_V = (31, 0) # type: ignore NVC6B5_SET_SRC_HEIGHT = (0x00000730) # type: ignore +NVC6B5_SET_SRC_HEIGHT_V = (31, 0) # type: ignore NVC6B5_SET_SRC_DEPTH = (0x00000734) # type: ignore +NVC6B5_SET_SRC_DEPTH_V = (31, 0) # type: ignore NVC6B5_SET_SRC_LAYER = (0x00000738) # type: ignore +NVC6B5_SET_SRC_LAYER_V = (31, 0) # type: ignore NVC6B5_SET_SRC_ORIGIN = (0x0000073C) # type: ignore +NVC6B5_SET_SRC_ORIGIN_X = (15, 0) # type: ignore +NVC6B5_SET_SRC_ORIGIN_Y = (31, 16) # type: ignore NVC6B5_SRC_ORIGIN_X = (0x00000744) # type: ignore +NVC6B5_SRC_ORIGIN_X_VALUE = (31, 0) # type: ignore NVC6B5_SRC_ORIGIN_Y = (0x00000748) # type: ignore +NVC6B5_SRC_ORIGIN_Y_VALUE = (31, 0) # type: ignore NVC6B5_DST_ORIGIN_X = (0x0000074C) # type: ignore +NVC6B5_DST_ORIGIN_X_VALUE = (31, 0) # type: ignore NVC6B5_DST_ORIGIN_Y = (0x00000750) # type: ignore +NVC6B5_DST_ORIGIN_Y_VALUE = (31, 0) # type: ignore NVC6B5_PM_TRIGGER_END = (0x00001114) # type: ignore +NVC6B5_PM_TRIGGER_END_V = (31, 0) # type: ignore BLACKWELL_DMA_COPY_A = (0x0000C9B5) # type: ignore NVC9B5_NOP = (0x00000100) # type: ignore +NVC9B5_NOP_PARAMETER = (31, 0) # type: ignore NVC9B5_PM_TRIGGER = (0x00000140) # type: ignore +NVC9B5_PM_TRIGGER_V = (31, 0) # type: ignore NVC9B5_SET_MONITORED_FENCE_TYPE = (0x0000021C) # type: ignore +NVC9B5_SET_MONITORED_FENCE_TYPE_TYPE = (0, 0) # type: ignore NVC9B5_SET_MONITORED_FENCE_TYPE_TYPE_MONITORED_FENCE = (0x00000000) # type: ignore NVC9B5_SET_MONITORED_FENCE_TYPE_TYPE_MONITORED_FENCE_EXT = (0x00000001) # type: ignore NVC9B5_SET_MONITORED_FENCE_SIGNAL_ADDR_BASE_UPPER = (0x00000220) # type: ignore +NVC9B5_SET_MONITORED_FENCE_SIGNAL_ADDR_BASE_UPPER_UPPER = (24, 0) # type: ignore NVC9B5_SET_MONITORED_FENCE_SIGNAL_ADDR_BASE_LOWER = (0x00000224) # type: ignore +NVC9B5_SET_MONITORED_FENCE_SIGNAL_ADDR_BASE_LOWER_LOWER = (31, 0) # type: ignore NVC9B5_SET_SEMAPHORE_A = (0x00000240) # type: ignore +NVC9B5_SET_SEMAPHORE_A_UPPER = (24, 0) # type: ignore NVC9B5_SET_SEMAPHORE_B = (0x00000244) # type: ignore +NVC9B5_SET_SEMAPHORE_B_LOWER = (31, 0) # type: ignore NVC9B5_SET_SEMAPHORE_PAYLOAD = (0x00000248) # type: ignore +NVC9B5_SET_SEMAPHORE_PAYLOAD_PAYLOAD = (31, 0) # type: ignore NVC9B5_SET_SEMAPHORE_PAYLOAD_UPPER = (0x0000024C) # type: ignore +NVC9B5_SET_SEMAPHORE_PAYLOAD_UPPER_PAYLOAD = (31, 0) # type: ignore NVC9B5_SET_RENDER_ENABLE_A = (0x00000254) # type: ignore +NVC9B5_SET_RENDER_ENABLE_A_UPPER = (24, 0) # type: ignore NVC9B5_SET_RENDER_ENABLE_B = (0x00000258) # type: ignore +NVC9B5_SET_RENDER_ENABLE_B_LOWER = (31, 0) # type: ignore NVC9B5_SET_RENDER_ENABLE_C = (0x0000025C) # type: ignore +NVC9B5_SET_RENDER_ENABLE_C_MODE = (2, 0) # type: ignore NVC9B5_SET_RENDER_ENABLE_C_MODE_FALSE = (0x00000000) # type: ignore NVC9B5_SET_RENDER_ENABLE_C_MODE_TRUE = (0x00000001) # type: ignore NVC9B5_SET_RENDER_ENABLE_C_MODE_CONDITIONAL = (0x00000002) # type: ignore NVC9B5_SET_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL = (0x00000003) # type: ignore NVC9B5_SET_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL = (0x00000004) # type: ignore NVC9B5_SET_SRC_PHYS_MODE = (0x00000260) # type: ignore +NVC9B5_SET_SRC_PHYS_MODE_TARGET = (1, 0) # type: ignore NVC9B5_SET_SRC_PHYS_MODE_TARGET_LOCAL_FB = (0x00000000) # type: ignore NVC9B5_SET_SRC_PHYS_MODE_TARGET_COHERENT_SYSMEM = (0x00000001) # type: ignore NVC9B5_SET_SRC_PHYS_MODE_TARGET_NONCOHERENT_SYSMEM = (0x00000002) # type: ignore NVC9B5_SET_SRC_PHYS_MODE_TARGET_PEERMEM = (0x00000003) # type: ignore +NVC9B5_SET_SRC_PHYS_MODE_BASIC_KIND = (5, 2) # type: ignore +NVC9B5_SET_SRC_PHYS_MODE_PEER_ID = (8, 6) # type: ignore +NVC9B5_SET_SRC_PHYS_MODE_FLA = (9, 9) # type: ignore NVC9B5_SET_DST_PHYS_MODE = (0x00000264) # type: ignore +NVC9B5_SET_DST_PHYS_MODE_TARGET = (1, 0) # type: ignore NVC9B5_SET_DST_PHYS_MODE_TARGET_LOCAL_FB = (0x00000000) # type: ignore NVC9B5_SET_DST_PHYS_MODE_TARGET_COHERENT_SYSMEM = (0x00000001) # type: ignore NVC9B5_SET_DST_PHYS_MODE_TARGET_NONCOHERENT_SYSMEM = (0x00000002) # type: ignore NVC9B5_SET_DST_PHYS_MODE_TARGET_PEERMEM = (0x00000003) # type: ignore +NVC9B5_SET_DST_PHYS_MODE_BASIC_KIND = (5, 2) # type: ignore +NVC9B5_SET_DST_PHYS_MODE_PEER_ID = (8, 6) # type: ignore +NVC9B5_SET_DST_PHYS_MODE_FLA = (9, 9) # type: ignore NVC9B5_LAUNCH_DMA = (0x00000300) # type: ignore +NVC9B5_LAUNCH_DMA_DATA_TRANSFER_TYPE = (1, 0) # type: ignore NVC9B5_LAUNCH_DMA_DATA_TRANSFER_TYPE_NONE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_DATA_TRANSFER_TYPE_PIPELINED = (0x00000001) # type: ignore NVC9B5_LAUNCH_DMA_DATA_TRANSFER_TYPE_NON_PIPELINED = (0x00000002) # type: ignore +NVC9B5_LAUNCH_DMA_FLUSH_ENABLE = (2, 2) # type: ignore NVC9B5_LAUNCH_DMA_FLUSH_ENABLE_FALSE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_FLUSH_ENABLE_TRUE = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_FLUSH_TYPE = (25, 25) # type: ignore NVC9B5_LAUNCH_DMA_FLUSH_TYPE_SYS = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_FLUSH_TYPE_GL = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_SEMAPHORE_TYPE = (4, 3) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_TYPE_NONE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_SEMAPHORE_NO_TIMESTAMP = (0x00000001) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_SEMAPHORE_WITH_TIMESTAMP = (0x00000002) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_ONE_WORD_SEMAPHORE = (0x00000001) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_FOUR_WORD_SEMAPHORE = (0x00000002) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_CONDITIONAL_INTR_SEMAPHORE = (0x00000003) # type: ignore +NVC9B5_LAUNCH_DMA_INTERRUPT_TYPE = (6, 5) # type: ignore NVC9B5_LAUNCH_DMA_INTERRUPT_TYPE_NONE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_INTERRUPT_TYPE_BLOCKING = (0x00000001) # type: ignore NVC9B5_LAUNCH_DMA_INTERRUPT_TYPE_NON_BLOCKING = (0x00000002) # type: ignore +NVC9B5_LAUNCH_DMA_SRC_MEMORY_LAYOUT = (7, 7) # type: ignore NVC9B5_LAUNCH_DMA_SRC_MEMORY_LAYOUT_BLOCKLINEAR = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_SRC_MEMORY_LAYOUT_PITCH = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_DST_MEMORY_LAYOUT = (8, 8) # type: ignore NVC9B5_LAUNCH_DMA_DST_MEMORY_LAYOUT_BLOCKLINEAR = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_DST_MEMORY_LAYOUT_PITCH = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_MULTI_LINE_ENABLE = (9, 9) # type: ignore NVC9B5_LAUNCH_DMA_MULTI_LINE_ENABLE_FALSE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_MULTI_LINE_ENABLE_TRUE = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_REMAP_ENABLE = (10, 10) # type: ignore NVC9B5_LAUNCH_DMA_REMAP_ENABLE_FALSE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_REMAP_ENABLE_TRUE = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_COMPRESSION_ENABLE = (11, 11) # type: ignore NVC9B5_LAUNCH_DMA_COMPRESSION_ENABLE_FALSE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_COMPRESSION_ENABLE_TRUE = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_SRC_TYPE = (12, 12) # type: ignore NVC9B5_LAUNCH_DMA_SRC_TYPE_VIRTUAL = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_SRC_TYPE_PHYSICAL = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_DST_TYPE = (13, 13) # type: ignore NVC9B5_LAUNCH_DMA_DST_TYPE_VIRTUAL = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_DST_TYPE_PHYSICAL = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION = (17, 14) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IMIN = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IMAX = (0x00000001) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IXOR = (0x00000002) # type: ignore @@ -15670,75 +16320,121 @@ NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_FMAX = (0x0000000C) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_INVALIDC = (0x0000000D) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_INVALIDD = (0x0000000E) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_INVALIDE = (0x0000000F) # type: ignore +NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_SIGN = (18, 18) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_SIGN_SIGNED = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_SIGN_UNSIGNED = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_ENABLE = (19, 19) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_ENABLE_FALSE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_ENABLE_TRUE = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_COPY_TYPE = (21, 20) # type: ignore NVC9B5_LAUNCH_DMA_COPY_TYPE_PROT2PROT = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_COPY_TYPE_DEFAULT = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_COPY_TYPE_SECURE = (0x00000001) # type: ignore NVC9B5_LAUNCH_DMA_COPY_TYPE_NONPROT2NONPROT = (0x00000002) # type: ignore NVC9B5_LAUNCH_DMA_COPY_TYPE_RESERVED = (0x00000003) # type: ignore +NVC9B5_LAUNCH_DMA_VPRMODE = (22, 22) # type: ignore NVC9B5_LAUNCH_DMA_VPRMODE_VPR_NONE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_VPRMODE_VPR_VID2VID = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_MEMORY_SCRUB_ENABLE = (23, 23) # type: ignore NVC9B5_LAUNCH_DMA_MEMORY_SCRUB_ENABLE_FALSE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_MEMORY_SCRUB_ENABLE_TRUE = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_RESERVED_START_OF_COPY = (24, 24) # type: ignore +NVC9B5_LAUNCH_DMA_DISABLE_PLC = (26, 26) # type: ignore NVC9B5_LAUNCH_DMA_DISABLE_PLC_FALSE = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_DISABLE_PLC_TRUE = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_SEMAPHORE_PAYLOAD_SIZE = (27, 27) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_PAYLOAD_SIZE_ONE_WORD = (0x00000000) # type: ignore NVC9B5_LAUNCH_DMA_SEMAPHORE_PAYLOAD_SIZE_TWO_WORD = (0x00000001) # type: ignore +NVC9B5_LAUNCH_DMA_RESERVED_ERR_CODE = (31, 28) # type: ignore NVC9B5_OFFSET_IN_UPPER = (0x00000400) # type: ignore +NVC9B5_OFFSET_IN_UPPER_UPPER = (24, 0) # type: ignore NVC9B5_OFFSET_IN_LOWER = (0x00000404) # type: ignore +NVC9B5_OFFSET_IN_LOWER_VALUE = (31, 0) # type: ignore NVC9B5_OFFSET_OUT_UPPER = (0x00000408) # type: ignore +NVC9B5_OFFSET_OUT_UPPER_UPPER = (24, 0) # type: ignore NVC9B5_OFFSET_OUT_LOWER = (0x0000040C) # type: ignore +NVC9B5_OFFSET_OUT_LOWER_VALUE = (31, 0) # type: ignore NVC9B5_PITCH_IN = (0x00000410) # type: ignore +NVC9B5_PITCH_IN_VALUE = (31, 0) # type: ignore NVC9B5_PITCH_OUT = (0x00000414) # type: ignore +NVC9B5_PITCH_OUT_VALUE = (31, 0) # type: ignore NVC9B5_LINE_LENGTH_IN = (0x00000418) # type: ignore +NVC9B5_LINE_LENGTH_IN_VALUE = (31, 0) # type: ignore NVC9B5_LINE_COUNT = (0x0000041C) # type: ignore +NVC9B5_LINE_COUNT_VALUE = (31, 0) # type: ignore NVC9B5_SET_SECURE_COPY_MODE = (0x00000500) # type: ignore +NVC9B5_SET_SECURE_COPY_MODE_MODE = (0, 0) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_MODE_ENCRYPT = (0x00000000) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_MODE_DECRYPT = (0x00000001) # type: ignore +NVC9B5_SET_SECURE_COPY_MODE_RESERVED_SRC_TARGET = (20, 19) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_RESERVED_SRC_TARGET_LOCAL_FB = (0x00000000) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_RESERVED_SRC_TARGET_COHERENT_SYSMEM = (0x00000001) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_RESERVED_SRC_TARGET_NONCOHERENT_SYSMEM = (0x00000002) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_RESERVED_SRC_TARGET_PEERMEM = (0x00000003) # type: ignore +NVC9B5_SET_SECURE_COPY_MODE_RESERVED_SRC_PEER_ID = (23, 21) # type: ignore +NVC9B5_SET_SECURE_COPY_MODE_RESERVED_SRC_FLA = (24, 24) # type: ignore +NVC9B5_SET_SECURE_COPY_MODE_RESERVED_DST_TARGET = (26, 25) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_RESERVED_DST_TARGET_LOCAL_FB = (0x00000000) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_RESERVED_DST_TARGET_COHERENT_SYSMEM = (0x00000001) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_RESERVED_DST_TARGET_NONCOHERENT_SYSMEM = (0x00000002) # type: ignore NVC9B5_SET_SECURE_COPY_MODE_RESERVED_DST_TARGET_PEERMEM = (0x00000003) # type: ignore +NVC9B5_SET_SECURE_COPY_MODE_RESERVED_DST_PEER_ID = (29, 27) # type: ignore +NVC9B5_SET_SECURE_COPY_MODE_RESERVED_DST_FLA = (30, 30) # type: ignore +NVC9B5_SET_SECURE_COPY_MODE_RESERVED_END_OF_COPY = (31, 31) # type: ignore NVC9B5_SET_DECRYPT_IV0 = (0x00000504) # type: ignore +NVC9B5_SET_DECRYPT_IV0_VALUE = (31, 0) # type: ignore NVC9B5_SET_DECRYPT_IV1 = (0x00000508) # type: ignore +NVC9B5_SET_DECRYPT_IV1_VALUE = (31, 0) # type: ignore NVC9B5_SET_DECRYPT_IV2 = (0x0000050C) # type: ignore +NVC9B5_SET_DECRYPT_IV2_VALUE = (31, 0) # type: ignore NVC9B5_RESERVED_SET_AESCOUNTER = (0x00000510) # type: ignore +NVC9B5_RESERVED_SET_AESCOUNTER_VALUE = (31, 0) # type: ignore NVC9B5_SET_DECRYPT_AUTH_TAG_COMPARE_ADDR_UPPER = (0x00000514) # type: ignore +NVC9B5_SET_DECRYPT_AUTH_TAG_COMPARE_ADDR_UPPER_UPPER = (24, 0) # type: ignore NVC9B5_SET_DECRYPT_AUTH_TAG_COMPARE_ADDR_LOWER = (0x00000518) # type: ignore +NVC9B5_SET_DECRYPT_AUTH_TAG_COMPARE_ADDR_LOWER_LOWER = (31, 0) # type: ignore NVC9B5_SET_ENCRYPT_AUTH_TAG_ADDR_UPPER = (0x00000530) # type: ignore +NVC9B5_SET_ENCRYPT_AUTH_TAG_ADDR_UPPER_UPPER = (24, 0) # type: ignore NVC9B5_SET_ENCRYPT_AUTH_TAG_ADDR_LOWER = (0x00000534) # type: ignore +NVC9B5_SET_ENCRYPT_AUTH_TAG_ADDR_LOWER_LOWER = (31, 0) # type: ignore NVC9B5_SET_ENCRYPT_IV_ADDR_UPPER = (0x00000538) # type: ignore +NVC9B5_SET_ENCRYPT_IV_ADDR_UPPER_UPPER = (24, 0) # type: ignore NVC9B5_SET_ENCRYPT_IV_ADDR_LOWER = (0x0000053C) # type: ignore +NVC9B5_SET_ENCRYPT_IV_ADDR_LOWER_LOWER = (31, 0) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS = (0x00000580) # type: ignore +NVC9B5_SET_COMPRESSION_PARAMETERS_OPERATION = (0, 0) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_OPERATION_DECOMPRESS = (0x00000000) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_OPERATION_COMPRESS = (0x00000001) # type: ignore +NVC9B5_SET_COMPRESSION_PARAMETERS_ALGO = (3, 1) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_ALGO_SNAPPY = (0x00000000) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_ALGO_LZ4_DATA_ONLY = (0x00000001) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_ALGO_LZ4_BLOCK = (0x00000002) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_ALGO_LZ4_BLOCK_CHECKSUM = (0x00000003) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_ALGO_DEFLATE = (0x00000004) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_ALGO_SNAPPY_WITH_LONG_FETCH = (0x00000005) # type: ignore +NVC9B5_SET_COMPRESSION_PARAMETERS_CHECK_SUM = (29, 28) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_CHECK_SUM_NONE = (0x00000000) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_CHECK_SUM_ADLER32 = (0x00000001) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_CHECK_SUM_CRC32 = (0x00000002) # type: ignore NVC9B5_SET_COMPRESSION_PARAMETERS_CHECK_SUM_SNAPPY_CRC = (0x00000003) # type: ignore NVC9B5_SET_DECOMPRESS_OUT_LENGTH = (0x00000584) # type: ignore +NVC9B5_SET_DECOMPRESS_OUT_LENGTH_V = (31, 0) # type: ignore NVC9B5_SET_DECOMPRESS_OUT_LENGTH_ADDR_UPPER = (0x00000588) # type: ignore +NVC9B5_SET_DECOMPRESS_OUT_LENGTH_ADDR_UPPER_UPPER = (24, 0) # type: ignore NVC9B5_SET_DECOMPRESS_OUT_LENGTH_ADDR_LOWER = (0x0000058C) # type: ignore +NVC9B5_SET_DECOMPRESS_OUT_LENGTH_ADDR_LOWER_LOWER = (31, 0) # type: ignore NVC9B5_SET_DECOMPRESS_CHECKSUM = (0x00000590) # type: ignore +NVC9B5_SET_DECOMPRESS_CHECKSUM_V = (31, 0) # type: ignore NVC9B5_SET_MEMORY_SCRUB_PARAMETERS = (0x000006FC) # type: ignore +NVC9B5_SET_MEMORY_SCRUB_PARAMETERS_DISCARDABLE = (0, 0) # type: ignore NVC9B5_SET_MEMORY_SCRUB_PARAMETERS_DISCARDABLE_FALSE = (0x00000000) # type: ignore NVC9B5_SET_MEMORY_SCRUB_PARAMETERS_DISCARDABLE_TRUE = (0x00000001) # type: ignore NVC9B5_SET_REMAP_CONST_A = (0x00000700) # type: ignore +NVC9B5_SET_REMAP_CONST_A_V = (31, 0) # type: ignore NVC9B5_SET_REMAP_CONST_B = (0x00000704) # type: ignore +NVC9B5_SET_REMAP_CONST_B_V = (31, 0) # type: ignore NVC9B5_SET_REMAP_COMPONENTS = (0x00000708) # type: ignore +NVC9B5_SET_REMAP_COMPONENTS_DST_X = (2, 0) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_X_SRC_X = (0x00000000) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_X_SRC_Y = (0x00000001) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_X_SRC_Z = (0x00000002) # type: ignore @@ -15746,6 +16442,7 @@ NVC9B5_SET_REMAP_COMPONENTS_DST_X_SRC_W = (0x00000003) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_X_CONST_A = (0x00000004) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_X_CONST_B = (0x00000005) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_X_NO_WRITE = (0x00000006) # type: ignore +NVC9B5_SET_REMAP_COMPONENTS_DST_Y = (6, 4) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Y_SRC_X = (0x00000000) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Y_SRC_Y = (0x00000001) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Y_SRC_Z = (0x00000002) # type: ignore @@ -15753,6 +16450,7 @@ NVC9B5_SET_REMAP_COMPONENTS_DST_Y_SRC_W = (0x00000003) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Y_CONST_A = (0x00000004) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Y_CONST_B = (0x00000005) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Y_NO_WRITE = (0x00000006) # type: ignore +NVC9B5_SET_REMAP_COMPONENTS_DST_Z = (10, 8) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Z_SRC_X = (0x00000000) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Z_SRC_Y = (0x00000001) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Z_SRC_Z = (0x00000002) # type: ignore @@ -15760,6 +16458,7 @@ NVC9B5_SET_REMAP_COMPONENTS_DST_Z_SRC_W = (0x00000003) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Z_CONST_A = (0x00000004) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Z_CONST_B = (0x00000005) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_Z_NO_WRITE = (0x00000006) # type: ignore +NVC9B5_SET_REMAP_COMPONENTS_DST_W = (14, 12) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_W_SRC_X = (0x00000000) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_W_SRC_Y = (0x00000001) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_W_SRC_Z = (0x00000002) # type: ignore @@ -15767,63 +16466,91 @@ NVC9B5_SET_REMAP_COMPONENTS_DST_W_SRC_W = (0x00000003) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_W_CONST_A = (0x00000004) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_W_CONST_B = (0x00000005) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_DST_W_NO_WRITE = (0x00000006) # type: ignore +NVC9B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE = (17, 16) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_ONE = (0x00000000) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_TWO = (0x00000001) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_THREE = (0x00000002) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_FOUR = (0x00000003) # type: ignore +NVC9B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS = (21, 20) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_ONE = (0x00000000) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_TWO = (0x00000001) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_THREE = (0x00000002) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_FOUR = (0x00000003) # type: ignore +NVC9B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS = (25, 24) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_ONE = (0x00000000) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_TWO = (0x00000001) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_THREE = (0x00000002) # type: ignore NVC9B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_FOUR = (0x00000003) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE = (0x0000070C) # type: ignore +NVC9B5_SET_DST_BLOCK_SIZE_WIDTH = (3, 0) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_WIDTH_ONE_GOB = (0x00000000) # type: ignore +NVC9B5_SET_DST_BLOCK_SIZE_HEIGHT = (7, 4) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_HEIGHT_ONE_GOB = (0x00000000) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_HEIGHT_TWO_GOBS = (0x00000001) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_HEIGHT_FOUR_GOBS = (0x00000002) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_HEIGHT_EIGHT_GOBS = (0x00000003) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC9B5_SET_DST_BLOCK_SIZE_DEPTH = (11, 8) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_DEPTH_ONE_GOB = (0x00000000) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_DEPTH_TWO_GOBS = (0x00000001) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_DEPTH_FOUR_GOBS = (0x00000002) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_DEPTH_EIGHT_GOBS = (0x00000003) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC9B5_SET_DST_BLOCK_SIZE_GOB_HEIGHT = (15, 12) # type: ignore NVC9B5_SET_DST_BLOCK_SIZE_GOB_HEIGHT_GOB_HEIGHT_FERMI_8 = (0x00000001) # type: ignore NVC9B5_SET_DST_WIDTH = (0x00000710) # type: ignore +NVC9B5_SET_DST_WIDTH_V = (31, 0) # type: ignore NVC9B5_SET_DST_HEIGHT = (0x00000714) # type: ignore +NVC9B5_SET_DST_HEIGHT_V = (31, 0) # type: ignore NVC9B5_SET_DST_DEPTH = (0x00000718) # type: ignore +NVC9B5_SET_DST_DEPTH_V = (31, 0) # type: ignore NVC9B5_SET_DST_LAYER = (0x0000071C) # type: ignore +NVC9B5_SET_DST_LAYER_V = (31, 0) # type: ignore NVC9B5_SET_DST_ORIGIN = (0x00000720) # type: ignore +NVC9B5_SET_DST_ORIGIN_X = (15, 0) # type: ignore +NVC9B5_SET_DST_ORIGIN_Y = (31, 16) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE = (0x00000728) # type: ignore +NVC9B5_SET_SRC_BLOCK_SIZE_WIDTH = (3, 0) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_WIDTH_ONE_GOB = (0x00000000) # type: ignore +NVC9B5_SET_SRC_BLOCK_SIZE_HEIGHT = (7, 4) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_HEIGHT_ONE_GOB = (0x00000000) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_HEIGHT_TWO_GOBS = (0x00000001) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_HEIGHT_FOUR_GOBS = (0x00000002) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_HEIGHT_EIGHT_GOBS = (0x00000003) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC9B5_SET_SRC_BLOCK_SIZE_DEPTH = (11, 8) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_DEPTH_ONE_GOB = (0x00000000) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_DEPTH_TWO_GOBS = (0x00000001) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_DEPTH_FOUR_GOBS = (0x00000002) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_DEPTH_EIGHT_GOBS = (0x00000003) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC9B5_SET_SRC_BLOCK_SIZE_GOB_HEIGHT = (15, 12) # type: ignore NVC9B5_SET_SRC_BLOCK_SIZE_GOB_HEIGHT_GOB_HEIGHT_FERMI_8 = (0x00000001) # type: ignore NVC9B5_SET_SRC_WIDTH = (0x0000072C) # type: ignore +NVC9B5_SET_SRC_WIDTH_V = (31, 0) # type: ignore NVC9B5_SET_SRC_HEIGHT = (0x00000730) # type: ignore +NVC9B5_SET_SRC_HEIGHT_V = (31, 0) # type: ignore NVC9B5_SET_SRC_DEPTH = (0x00000734) # type: ignore +NVC9B5_SET_SRC_DEPTH_V = (31, 0) # type: ignore NVC9B5_SET_SRC_LAYER = (0x00000738) # type: ignore +NVC9B5_SET_SRC_LAYER_V = (31, 0) # type: ignore NVC9B5_SET_SRC_ORIGIN = (0x0000073C) # type: ignore +NVC9B5_SET_SRC_ORIGIN_X = (15, 0) # type: ignore +NVC9B5_SET_SRC_ORIGIN_Y = (31, 16) # type: ignore NVC9B5_SRC_ORIGIN_X = (0x00000744) # type: ignore +NVC9B5_SRC_ORIGIN_X_VALUE = (31, 0) # type: ignore NVC9B5_SRC_ORIGIN_Y = (0x00000748) # type: ignore +NVC9B5_SRC_ORIGIN_Y_VALUE = (31, 0) # type: ignore NVC9B5_DST_ORIGIN_X = (0x0000074C) # type: ignore +NVC9B5_DST_ORIGIN_X_VALUE = (31, 0) # type: ignore NVC9B5_DST_ORIGIN_Y = (0x00000750) # type: ignore +NVC9B5_DST_ORIGIN_Y_VALUE = (31, 0) # type: ignore NVC9B5_PM_TRIGGER_END = (0x00001114) # type: ignore +NVC9B5_PM_TRIGGER_END_V = (31, 0) # type: ignore UVM_IOCTL_BASE = lambda i: i # type: ignore UVM_RESERVE_VA = UVM_IOCTL_BASE(1) # type: ignore UVM_RELEASE_VA = UVM_IOCTL_BASE(2) # type: ignore @@ -16107,6 +16834,7 @@ NV_PFAULT_MMU_ENG_ID_BAR2_FN60 = 252 # type: ignore NV_PFAULT_MMU_ENG_ID_BAR2_FN61 = 253 # type: ignore NV_PFAULT_MMU_ENG_ID_BAR2_FN62 = 254 # type: ignore NV_PFAULT_MMU_ENG_ID_BAR2_FN63 = 255 # type: ignore +NV_PFAULT_FAULT_TYPE = (4, 0) # type: ignore NV_PFAULT_FAULT_TYPE_PDE = 0x00000000 # type: ignore NV_PFAULT_FAULT_TYPE_PDE_SIZE = 0x00000001 # type: ignore NV_PFAULT_FAULT_TYPE_PTE = 0x00000002 # type: ignore @@ -16123,6 +16851,7 @@ NV_PFAULT_FAULT_TYPE_UNSUPPORTED_KIND = 0x0000000c # type: ignore NV_PFAULT_FAULT_TYPE_REGION_VIOLATION = 0x0000000d # type: ignore NV_PFAULT_FAULT_TYPE_POISONED = 0x0000000e # type: ignore NV_PFAULT_FAULT_TYPE_ATOMIC_VIOLATION = 0x0000000f # type: ignore +NV_PFAULT_CLIENT = (14, 8) # type: ignore NV_PFAULT_CLIENT_GPC_T1_0 = 0x00000000 # type: ignore NV_PFAULT_CLIENT_GPC_T1_1 = 0x00000001 # type: ignore NV_PFAULT_CLIENT_GPC_T1_2 = 0x00000002 # type: ignore @@ -16340,6 +17069,7 @@ NV_PFAULT_CLIENT_HUB_SKED5 = 0x00000060 # type: ignore NV_PFAULT_CLIENT_HUB_SKED6 = 0x00000061 # type: ignore NV_PFAULT_CLIENT_HUB_SKED7 = 0x00000062 # type: ignore NV_PFAULT_CLIENT_HUB_ESC = 0x00000063 # type: ignore +NV_PFAULT_ACCESS_TYPE = (19, 16) # type: ignore NV_PFAULT_ACCESS_TYPE_READ = 0x00000000 # type: ignore NV_PFAULT_ACCESS_TYPE_WRITE = 0x00000001 # type: ignore NV_PFAULT_ACCESS_TYPE_ATOMIC = 0x00000002 # type: ignore @@ -16354,8 +17084,13 @@ NV_PFAULT_ACCESS_TYPE_PHYS_READ = 0x00000008 # type: ignore NV_PFAULT_ACCESS_TYPE_PHYS_WRITE = 0x00000009 # type: ignore NV_PFAULT_ACCESS_TYPE_PHYS_ATOMIC = 0x0000000a # type: ignore NV_PFAULT_ACCESS_TYPE_PHYS_PREFETCH = 0x0000000b # type: ignore +NV_PFAULT_MMU_CLIENT_TYPE = (20, 20) # type: ignore NV_PFAULT_MMU_CLIENT_TYPE_GPC = 0x00000000 # type: ignore NV_PFAULT_MMU_CLIENT_TYPE_HUB = 0x00000001 # type: ignore +NV_PFAULT_GPC_ID = (28, 24) # type: ignore +NV_PFAULT_PROTECTED_MODE = (29, 29) # type: ignore +NV_PFAULT_REPLAYABLE_FAULT_EN = (30, 30) # type: ignore +NV_PFAULT_VALID = (31, 31) # type: ignore NV_ESC_RM_ALLOC_MEMORY = 0x27 # type: ignore NV_ESC_RM_ALLOC_OBJECT = 0x28 # type: ignore NV_ESC_RM_FREE = 0x29 # type: ignore @@ -16417,44 +17152,65 @@ NV_IOCTL_NUMA_STATUS_ONLINE = 3 # type: ignore NV_IOCTL_NUMA_STATUS_ONLINE_FAILED = 4 # type: ignore NV_IOCTL_NUMA_STATUS_OFFLINE_IN_PROGRESS = 5 # type: ignore NV_IOCTL_NUMA_STATUS_OFFLINE_FAILED = 6 # type: ignore +NVOS04_FLAGS_CHANNEL_TYPE = (1, 0) # type: ignore NVOS04_FLAGS_CHANNEL_TYPE_PHYSICAL = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_TYPE_VIRTUAL = 0x00000001 # type: ignore NVOS04_FLAGS_CHANNEL_TYPE_PHYSICAL_FOR_VIRTUAL = 0x00000002 # type: ignore +NVOS04_FLAGS_VPR = (2, 2) # type: ignore NVOS04_FLAGS_VPR_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_VPR_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CC_SECURE = (2, 2) # type: ignore NVOS04_FLAGS_CC_SECURE_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CC_SECURE_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_SKIP_MAP_REFCOUNTING = (3, 3) # type: ignore NVOS04_FLAGS_CHANNEL_SKIP_MAP_REFCOUNTING_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_SKIP_MAP_REFCOUNTING_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_GROUP_CHANNEL_RUNQUEUE = (4, 4) # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_RUNQUEUE_DEFAULT = 0x00000000 # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_RUNQUEUE_ONE = 0x00000001 # type: ignore +NVOS04_FLAGS_PRIVILEGED_CHANNEL = (5, 5) # type: ignore NVOS04_FLAGS_PRIVILEGED_CHANNEL_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_PRIVILEGED_CHANNEL_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_DELAY_CHANNEL_SCHEDULING = (6, 6) # type: ignore NVOS04_FLAGS_DELAY_CHANNEL_SCHEDULING_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_DELAY_CHANNEL_SCHEDULING_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_DENY_PHYSICAL_MODE_CE = (7, 7) # type: ignore NVOS04_FLAGS_CHANNEL_DENY_PHYSICAL_MODE_CE_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_DENY_PHYSICAL_MODE_CE_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_USERD_INDEX_VALUE = (10, 8) # type: ignore +NVOS04_FLAGS_CHANNEL_USERD_INDEX_FIXED = (11, 11) # type: ignore NVOS04_FLAGS_CHANNEL_USERD_INDEX_FIXED_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_USERD_INDEX_FIXED_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_VALUE = (20, 12) # type: ignore +NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_FIXED = (21, 21) # type: ignore NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_FIXED_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_FIXED_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_DENY_AUTH_LEVEL_PRIV = (22, 22) # type: ignore NVOS04_FLAGS_CHANNEL_DENY_AUTH_LEVEL_PRIV_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_DENY_AUTH_LEVEL_PRIV_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_SKIP_SCRUBBER = (23, 23) # type: ignore NVOS04_FLAGS_CHANNEL_SKIP_SCRUBBER_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_SKIP_SCRUBBER_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_CLIENT_MAP_FIFO = (24, 24) # type: ignore NVOS04_FLAGS_CHANNEL_CLIENT_MAP_FIFO_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_CLIENT_MAP_FIFO_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_SET_EVICT_LAST_CE_PREFETCH_CHANNEL = (25, 25) # type: ignore NVOS04_FLAGS_SET_EVICT_LAST_CE_PREFETCH_CHANNEL_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_SET_EVICT_LAST_CE_PREFETCH_CHANNEL_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_VGPU_PLUGIN_CONTEXT = (26, 26) # type: ignore NVOS04_FLAGS_CHANNEL_VGPU_PLUGIN_CONTEXT_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_VGPU_PLUGIN_CONTEXT_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_PBDMA_ACQUIRE_TIMEOUT = (27, 27) # type: ignore NVOS04_FLAGS_CHANNEL_PBDMA_ACQUIRE_TIMEOUT_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_PBDMA_ACQUIRE_TIMEOUT_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_GROUP_CHANNEL_THREAD = (29, 28) # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_THREAD_DEFAULT = 0x00000000 # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_THREAD_ONE = 0x00000001 # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_THREAD_TWO = 0x00000002 # type: ignore +NVOS04_FLAGS_MAP_CHANNEL = (30, 30) # type: ignore NVOS04_FLAGS_MAP_CHANNEL_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_MAP_CHANNEL_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_SKIP_CTXBUFFER_ALLOC = (31, 31) # type: ignore NVOS04_FLAGS_SKIP_CTXBUFFER_ALLOC_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_SKIP_CTXBUFFER_ALLOC_TRUE = 0x00000001 # type: ignore CC_CHAN_ALLOC_IV_SIZE_DWORD = 3 # type: ignore @@ -16541,55 +17297,78 @@ NV01_ROOT = (0x0) # type: ignore NV01_ROOT_NON_PRIV = (0x00000001) # type: ignore NV01_ROOT_CLIENT = (0x00000041) # type: ignore NV01_ALLOC_MEMORY = (0x00000002) # type: ignore +NVOS02_FLAGS_PHYSICALITY = (7, 4) # type: ignore NVOS02_FLAGS_PHYSICALITY_CONTIGUOUS = (0x00000000) # type: ignore NVOS02_FLAGS_PHYSICALITY_NONCONTIGUOUS = (0x00000001) # type: ignore +NVOS02_FLAGS_LOCATION = (11, 8) # type: ignore NVOS02_FLAGS_LOCATION_PCI = (0x00000000) # type: ignore NVOS02_FLAGS_LOCATION_VIDMEM = (0x00000002) # type: ignore +NVOS02_FLAGS_COHERENCY = (15, 12) # type: ignore NVOS02_FLAGS_COHERENCY_UNCACHED = (0x00000000) # type: ignore NVOS02_FLAGS_COHERENCY_CACHED = (0x00000001) # type: ignore NVOS02_FLAGS_COHERENCY_WRITE_COMBINE = (0x00000002) # type: ignore NVOS02_FLAGS_COHERENCY_WRITE_THROUGH = (0x00000003) # type: ignore NVOS02_FLAGS_COHERENCY_WRITE_PROTECT = (0x00000004) # type: ignore NVOS02_FLAGS_COHERENCY_WRITE_BACK = (0x00000005) # type: ignore +NVOS02_FLAGS_ALLOC = (17, 16) # type: ignore NVOS02_FLAGS_ALLOC_NONE = (0x00000001) # type: ignore +NVOS02_FLAGS_GPU_CACHEABLE = (18, 18) # type: ignore NVOS02_FLAGS_GPU_CACHEABLE_NO = (0x00000000) # type: ignore NVOS02_FLAGS_GPU_CACHEABLE_YES = (0x00000001) # type: ignore +NVOS02_FLAGS_KERNEL_MAPPING = (19, 19) # type: ignore NVOS02_FLAGS_KERNEL_MAPPING_NO_MAP = (0x00000000) # type: ignore NVOS02_FLAGS_KERNEL_MAPPING_MAP = (0x00000001) # type: ignore +NVOS02_FLAGS_ALLOC_NISO_DISPLAY = (20, 20) # type: ignore NVOS02_FLAGS_ALLOC_NISO_DISPLAY_NO = (0x00000000) # type: ignore NVOS02_FLAGS_ALLOC_NISO_DISPLAY_YES = (0x00000001) # type: ignore +NVOS02_FLAGS_ALLOC_USER_READ_ONLY = (21, 21) # type: ignore NVOS02_FLAGS_ALLOC_USER_READ_ONLY_NO = (0x00000000) # type: ignore NVOS02_FLAGS_ALLOC_USER_READ_ONLY_YES = (0x00000001) # type: ignore +NVOS02_FLAGS_ALLOC_DEVICE_READ_ONLY = (22, 22) # type: ignore NVOS02_FLAGS_ALLOC_DEVICE_READ_ONLY_NO = (0x00000000) # type: ignore NVOS02_FLAGS_ALLOC_DEVICE_READ_ONLY_YES = (0x00000001) # type: ignore +NVOS02_FLAGS_PEER_MAP_OVERRIDE = (23, 23) # type: ignore NVOS02_FLAGS_PEER_MAP_OVERRIDE_DEFAULT = (0x00000000) # type: ignore NVOS02_FLAGS_PEER_MAP_OVERRIDE_REQUIRED = (0x00000001) # type: ignore +NVOS02_FLAGS_ALLOC_TYPE_SYNCPOINT = (24, 24) # type: ignore NVOS02_FLAGS_ALLOC_TYPE_SYNCPOINT_APERTURE = (0x00000001) # type: ignore +NVOS02_FLAGS_MEMORY_PROTECTION = (26, 25) # type: ignore NVOS02_FLAGS_MEMORY_PROTECTION_DEFAULT = (0x00000000) # type: ignore NVOS02_FLAGS_MEMORY_PROTECTION_PROTECTED = (0x00000001) # type: ignore NVOS02_FLAGS_MEMORY_PROTECTION_UNPROTECTED = (0x00000002) # type: ignore +NVOS02_FLAGS_REGISTER_MEMDESC_TO_PHYS_RM = (27, 27) # type: ignore NVOS02_FLAGS_REGISTER_MEMDESC_TO_PHYS_RM_FALSE = (0x00000000) # type: ignore NVOS02_FLAGS_REGISTER_MEMDESC_TO_PHYS_RM_TRUE = (0x00000001) # type: ignore +NVOS02_FLAGS_MAPPING = (31, 30) # type: ignore NVOS02_FLAGS_MAPPING_DEFAULT = (0x00000000) # type: ignore NVOS02_FLAGS_MAPPING_NO_MAP = (0x00000001) # type: ignore NVOS02_FLAGS_MAPPING_NEVER_MAP = (0x00000002) # type: ignore +NVOS03_FLAGS_ACCESS = (1, 0) # type: ignore NVOS03_FLAGS_ACCESS_READ_WRITE = (0x00000000) # type: ignore NVOS03_FLAGS_ACCESS_READ_ONLY = (0x00000001) # type: ignore NVOS03_FLAGS_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore +NVOS03_FLAGS_PREALLOCATE = (2, 2) # type: ignore NVOS03_FLAGS_PREALLOCATE_DISABLE = (0x00000000) # type: ignore NVOS03_FLAGS_PREALLOCATE_ENABLE = (0x00000001) # type: ignore +NVOS03_FLAGS_GPU_MAPPABLE = (15, 15) # type: ignore NVOS03_FLAGS_GPU_MAPPABLE_DISABLE = (0x00000000) # type: ignore NVOS03_FLAGS_GPU_MAPPABLE_ENABLE = (0x00000001) # type: ignore +NVOS03_FLAGS_PTE_KIND_BL_OVERRIDE = (16, 16) # type: ignore NVOS03_FLAGS_PTE_KIND_BL_OVERRIDE_FALSE = (0x00000000) # type: ignore NVOS03_FLAGS_PTE_KIND_BL_OVERRIDE_TRUE = (0x00000001) # type: ignore +NVOS03_FLAGS_PTE_KIND = (17, 16) # type: ignore NVOS03_FLAGS_PTE_KIND_NONE = (0x00000000) # type: ignore NVOS03_FLAGS_PTE_KIND_BL = (0x00000001) # type: ignore NVOS03_FLAGS_PTE_KIND_PITCH = (0x00000002) # type: ignore +NVOS03_FLAGS_TYPE = (23, 20) # type: ignore NVOS03_FLAGS_TYPE_NOTIFIER = (0x00000001) # type: ignore +NVOS03_FLAGS_MAPPING = (20, 20) # type: ignore NVOS03_FLAGS_MAPPING_NONE = (0x00000000) # type: ignore NVOS03_FLAGS_MAPPING_KERNEL = (0x00000001) # type: ignore +NVOS03_FLAGS_CACHE_SNOOP = (28, 28) # type: ignore NVOS03_FLAGS_CACHE_SNOOP_ENABLE = (0x00000000) # type: ignore NVOS03_FLAGS_CACHE_SNOOP_DISABLE = (0x00000001) # type: ignore +NVOS03_FLAGS_HASH_TABLE = (29, 29) # type: ignore NVOS03_FLAGS_HASH_TABLE_ENABLE = (0x00000000) # type: ignore NVOS03_FLAGS_HASH_TABLE_DISABLE = (0x00000001) # type: ignore NV01_ALLOC_OBJECT = (0x00000005) # type: ignore @@ -16613,12 +17392,15 @@ NVOS64_FLAGS_NONE = (0x00000000) # type: ignore NVOS64_FLAGS_FINN_SERIALIZED = (0x00000001) # type: ignore NVOS65_PARAMETERS_VERSION_MAGIC = 0x77FEF81E # type: ignore NV04_IDLE_CHANNELS = (0x0000001E) # type: ignore +NVOS30_FLAGS_BEHAVIOR = (3, 0) # type: ignore NVOS30_FLAGS_BEHAVIOR_SPIN = (0x00000000) # type: ignore NVOS30_FLAGS_BEHAVIOR_SLEEP = (0x00000001) # type: ignore NVOS30_FLAGS_BEHAVIOR_QUERY = (0x00000002) # type: ignore NVOS30_FLAGS_BEHAVIOR_FORCE_BUSY_CHECK = (0x00000003) # type: ignore +NVOS30_FLAGS_CHANNEL = (7, 4) # type: ignore NVOS30_FLAGS_CHANNEL_LIST = (0x00000000) # type: ignore NVOS30_FLAGS_CHANNEL_SINGLE = (0x00000001) # type: ignore +NVOS30_FLAGS_IDLE = (30, 8) # type: ignore NVOS30_FLAGS_IDLE_PUSH_BUFFER = (0x00000001) # type: ignore NVOS30_FLAGS_IDLE_CACHE1 = (0x00000002) # type: ignore NVOS30_FLAGS_IDLE_GRAPHICS = (0x00000004) # type: ignore @@ -16649,6 +17431,7 @@ NVOS30_FLAGS_IDLE_NVDEC1 = (0x00200000) # type: ignore NVOS30_FLAGS_IDLE_NVDEC2 = (0x00400000) # type: ignore NVOS30_FLAGS_IDLE_ACTIVECHANNELS = (0x00800000) # type: ignore NVOS30_FLAGS_IDLE_ALL_ENGINES = (NVOS30_FLAGS_IDLE_GRAPHICS | NVOS30_FLAGS_IDLE_MPEG | NVOS30_FLAGS_IDLE_MOTION_ESTIMATION | NVOS30_FLAGS_IDLE_VIDEO_PROCESSOR | NVOS30_FLAGS_IDLE_BITSTREAM_PROCESSOR | NVOS30_FLAGS_IDLE_CIPHER_DMA | NVOS30_FLAGS_IDLE_MSPDEC | NVOS30_FLAGS_IDLE_NVDEC0 | NVOS30_FLAGS_IDLE_SEC | NVOS30_FLAGS_IDLE_MSPPP | NVOS30_FLAGS_IDLE_CE0 | NVOS30_FLAGS_IDLE_CE1 | NVOS30_FLAGS_IDLE_CE2 | NVOS30_FLAGS_IDLE_CE3 | NVOS30_FLAGS_IDLE_CE4 | NVOS30_FLAGS_IDLE_CE5 | NVOS30_FLAGS_IDLE_NVENC0 | NVOS30_FLAGS_IDLE_NVENC1 | NVOS30_FLAGS_IDLE_NVENC2 | NVOS30_FLAGS_IDLE_VIC | NVOS30_FLAGS_IDLE_NVJPG | NVOS30_FLAGS_IDLE_NVDEC1 | NVOS30_FLAGS_IDLE_NVDEC2) # type: ignore +NVOS30_FLAGS_WAIT_FOR_ELPG_ON = (31, 31) # type: ignore NVOS30_FLAGS_WAIT_FOR_ELPG_ON_NO = (0x00000000) # type: ignore NVOS30_FLAGS_WAIT_FOR_ELPG_ON_YES = (0x00000001) # type: ignore NV04_VID_HEAP_CONTROL = (0x00000020) # type: ignore @@ -16675,6 +17458,7 @@ NVOS32_FUNCTION_ALLOC_OS_DESCRIPTOR = 27 # type: ignore NVOS32_FLAGS_BLOCKINFO_VISIBILITY_CPU = (0x00000001) # type: ignore NVOS32_IVC_HEAP_NUMBER_DONT_ALLOCATE_ON_IVC_HEAP = 0 # type: ignore NVAL_MAX_BANKS = (4) # type: ignore +NVAL_MAP_DIRECTION = (0, 0) # type: ignore NVAL_MAP_DIRECTION_DOWN = 0x00000000 # type: ignore NVAL_MAP_DIRECTION_UP = 0x00000001 # type: ignore NV_RM_OS32_ALLOC_OS_DESCRIPTOR_WITH_OS32_ATTR = 1 # type: ignore @@ -16698,6 +17482,7 @@ NVOS32_TYPE_PMA = 15 # type: ignore NVOS32_TYPE_STENCIL = 16 # type: ignore NVOS32_NUM_MEM_TYPES = 17 # type: ignore NVOS32_ATTR_NONE = 0x00000000 # type: ignore +NVOS32_ATTR_DEPTH = (2, 0) # type: ignore NVOS32_ATTR_DEPTH_UNKNOWN = 0x00000000 # type: ignore NVOS32_ATTR_DEPTH_8 = 0x00000001 # type: ignore NVOS32_ATTR_DEPTH_16 = 0x00000002 # type: ignore @@ -16705,8 +17490,10 @@ NVOS32_ATTR_DEPTH_24 = 0x00000003 # type: ignore NVOS32_ATTR_DEPTH_32 = 0x00000004 # type: ignore NVOS32_ATTR_DEPTH_64 = 0x00000005 # type: ignore NVOS32_ATTR_DEPTH_128 = 0x00000006 # type: ignore +NVOS32_ATTR_COMPR_COVG = (3, 3) # type: ignore NVOS32_ATTR_COMPR_COVG_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR_COMPR_COVG_PROVIDED = 0x00000001 # type: ignore +NVOS32_ATTR_AA_SAMPLES = (7, 4) # type: ignore NVOS32_ATTR_AA_SAMPLES_1 = 0x00000000 # type: ignore NVOS32_ATTR_AA_SAMPLES_2 = 0x00000001 # type: ignore NVOS32_ATTR_AA_SAMPLES_4 = 0x00000002 # type: ignore @@ -16718,25 +17505,31 @@ NVOS32_ATTR_AA_SAMPLES_4_VIRTUAL_8 = 0x00000007 # type: ignore NVOS32_ATTR_AA_SAMPLES_4_VIRTUAL_16 = 0x00000008 # type: ignore NVOS32_ATTR_AA_SAMPLES_8_VIRTUAL_16 = 0x00000009 # type: ignore NVOS32_ATTR_AA_SAMPLES_8_VIRTUAL_32 = 0x0000000A # type: ignore +NVOS32_ATTR_ZCULL = (11, 10) # type: ignore NVOS32_ATTR_ZCULL_NONE = 0x00000000 # type: ignore NVOS32_ATTR_ZCULL_REQUIRED = 0x00000001 # type: ignore NVOS32_ATTR_ZCULL_ANY = 0x00000002 # type: ignore NVOS32_ATTR_ZCULL_SHARED = 0x00000003 # type: ignore +NVOS32_ATTR_COMPR = (13, 12) # type: ignore NVOS32_ATTR_COMPR_NONE = 0x00000000 # type: ignore NVOS32_ATTR_COMPR_REQUIRED = 0x00000001 # type: ignore NVOS32_ATTR_COMPR_ANY = 0x00000002 # type: ignore NVOS32_ATTR_COMPR_PLC_REQUIRED = NVOS32_ATTR_COMPR_REQUIRED # type: ignore NVOS32_ATTR_COMPR_PLC_ANY = NVOS32_ATTR_COMPR_ANY # type: ignore NVOS32_ATTR_COMPR_DISABLE_PLC_ANY = 0x00000003 # type: ignore +NVOS32_ATTR_ALLOCATE_FROM_RESERVED_HEAP = (14, 14) # type: ignore NVOS32_ATTR_ALLOCATE_FROM_RESERVED_HEAP_NO = 0x00000000 # type: ignore NVOS32_ATTR_ALLOCATE_FROM_RESERVED_HEAP_YES = 0x00000001 # type: ignore +NVOS32_ATTR_FORMAT = (17, 16) # type: ignore NVOS32_ATTR_FORMAT_LOW_FIELD = 16 # type: ignore NVOS32_ATTR_FORMAT_HIGH_FIELD = 17 # type: ignore NVOS32_ATTR_FORMAT_PITCH = 0x00000000 # type: ignore NVOS32_ATTR_FORMAT_SWIZZLED = 0x00000001 # type: ignore NVOS32_ATTR_FORMAT_BLOCK_LINEAR = 0x00000002 # type: ignore +NVOS32_ATTR_Z_TYPE = (18, 18) # type: ignore NVOS32_ATTR_Z_TYPE_FIXED = 0x00000000 # type: ignore NVOS32_ATTR_Z_TYPE_FLOAT = 0x00000001 # type: ignore +NVOS32_ATTR_ZS_PACKING = (21, 19) # type: ignore NVOS32_ATTR_ZS_PACKING_S8 = 0x00000000 # type: ignore NVOS32_ATTR_ZS_PACKING_Z24S8 = 0x00000000 # type: ignore NVOS32_ATTR_ZS_PACKING_S8Z24 = 0x00000001 # type: ignore @@ -16746,19 +17539,24 @@ NVOS32_ATTR_ZS_PACKING_X8Z24 = 0x00000004 # type: ignore NVOS32_ATTR_ZS_PACKING_Z32_X24S8 = 0x00000005 # type: ignore NVOS32_ATTR_ZS_PACKING_X8Z24_X24S8 = 0x00000006 # type: ignore NVOS32_ATTR_ZS_PACKING_Z16 = 0x00000007 # type: ignore +NVOS32_ATTR_COLOR_PACKING = NVOS32_ATTR_ZS_PACKING # type: ignore NVOS32_ATTR_COLOR_PACKING_A8R8G8B8 = 0x00000000 # type: ignore NVOS32_ATTR_COLOR_PACKING_X8R8G8B8 = 0x00000001 # type: ignore +NVOS32_ATTR_PAGE_SIZE = (24, 23) # type: ignore NVOS32_ATTR_PAGE_SIZE_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR_PAGE_SIZE_4KB = 0x00000001 # type: ignore NVOS32_ATTR_PAGE_SIZE_BIG = 0x00000002 # type: ignore NVOS32_ATTR_PAGE_SIZE_HUGE = 0x00000003 # type: ignore +NVOS32_ATTR_LOCATION = (26, 25) # type: ignore NVOS32_ATTR_LOCATION_VIDMEM = 0x00000000 # type: ignore NVOS32_ATTR_LOCATION_PCI = 0x00000001 # type: ignore NVOS32_ATTR_LOCATION_ANY = 0x00000003 # type: ignore +NVOS32_ATTR_PHYSICALITY = (28, 27) # type: ignore NVOS32_ATTR_PHYSICALITY_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR_PHYSICALITY_NONCONTIGUOUS = 0x00000001 # type: ignore NVOS32_ATTR_PHYSICALITY_CONTIGUOUS = 0x00000002 # type: ignore NVOS32_ATTR_PHYSICALITY_ALLOW_NONCONTIGUOUS = 0x00000003 # type: ignore +NVOS32_ATTR_COHERENCY = (31, 29) # type: ignore NVOS32_ATTR_COHERENCY_UNCACHED = 0x00000000 # type: ignore NVOS32_ATTR_COHERENCY_CACHED = 0x00000001 # type: ignore NVOS32_ATTR_COHERENCY_WRITE_COMBINE = 0x00000002 # type: ignore @@ -16766,62 +17564,85 @@ NVOS32_ATTR_COHERENCY_WRITE_THROUGH = 0x00000003 # type: ignore NVOS32_ATTR_COHERENCY_WRITE_PROTECT = 0x00000004 # type: ignore NVOS32_ATTR_COHERENCY_WRITE_BACK = 0x00000005 # type: ignore NVOS32_ATTR2_NONE = 0x00000000 # type: ignore +NVOS32_ATTR2_ZBC = (1, 0) # type: ignore NVOS32_ATTR2_ZBC_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_ZBC_PREFER_NO_ZBC = 0x00000001 # type: ignore NVOS32_ATTR2_ZBC_PREFER_ZBC = 0x00000002 # type: ignore NVOS32_ATTR2_ZBC_REQUIRE_ONLY_ZBC = 0x00000003 # type: ignore NVOS32_ATTR2_ZBC_INVALID = 0x00000003 # type: ignore +NVOS32_ATTR2_GPU_CACHEABLE = (3, 2) # type: ignore NVOS32_ATTR2_GPU_CACHEABLE_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_GPU_CACHEABLE_YES = 0x00000001 # type: ignore NVOS32_ATTR2_GPU_CACHEABLE_NO = 0x00000002 # type: ignore NVOS32_ATTR2_GPU_CACHEABLE_INVALID = 0x00000003 # type: ignore +NVOS32_ATTR2_P2P_GPU_CACHEABLE = (5, 4) # type: ignore NVOS32_ATTR2_P2P_GPU_CACHEABLE_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_P2P_GPU_CACHEABLE_YES = 0x00000001 # type: ignore NVOS32_ATTR2_P2P_GPU_CACHEABLE_NO = 0x00000002 # type: ignore +NVOS32_ATTR2_32BIT_POINTER = (6, 6) # type: ignore NVOS32_ATTR2_32BIT_POINTER_DISABLE = 0x00000000 # type: ignore NVOS32_ATTR2_32BIT_POINTER_ENABLE = 0x00000001 # type: ignore +NVOS32_ATTR2_FIXED_NUMA_NODE_ID = (7, 7) # type: ignore NVOS32_ATTR2_FIXED_NUMA_NODE_ID_NO = 0x00000000 # type: ignore NVOS32_ATTR2_FIXED_NUMA_NODE_ID_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_SMMU_ON_GPU = (9, 8) # type: ignore NVOS32_ATTR2_SMMU_ON_GPU_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_SMMU_ON_GPU_DISABLE = 0x00000001 # type: ignore NVOS32_ATTR2_SMMU_ON_GPU_ENABLE = 0x00000002 # type: ignore +NVOS32_ATTR2_USE_SCANOUT_CARVEOUT = (10, 10) # type: ignore NVOS32_ATTR2_USE_SCANOUT_CARVEOUT_FALSE = 0x00000000 # type: ignore NVOS32_ATTR2_USE_SCANOUT_CARVEOUT_TRUE = 0x00000001 # type: ignore +NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN = (11, 11) # type: ignore NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN_OFF = 0x0 # type: ignore NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN_ON = 0x1 # type: ignore NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN_DEFAULT = NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN_OFF # type: ignore +NVOS32_ATTR2_PRIORITY = (13, 12) # type: ignore NVOS32_ATTR2_PRIORITY_DEFAULT = 0x0 # type: ignore NVOS32_ATTR2_PRIORITY_HIGH = 0x1 # type: ignore NVOS32_ATTR2_PRIORITY_LOW = 0x2 # type: ignore +NVOS32_ATTR2_INTERNAL = (14, 14) # type: ignore NVOS32_ATTR2_INTERNAL_NO = 0x0 # type: ignore NVOS32_ATTR2_INTERNAL_YES = 0x1 # type: ignore +NVOS32_ATTR2_PREFER_2C = (15, 15) # type: ignore NVOS32_ATTR2_PREFER_2C_NO = 0x00000000 # type: ignore NVOS32_ATTR2_PREFER_2C_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_NISO_DISPLAY = (16, 16) # type: ignore NVOS32_ATTR2_NISO_DISPLAY_NO = 0x00000000 # type: ignore NVOS32_ATTR2_NISO_DISPLAY_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_ZBC_SKIP_ZBCREFCOUNT = (17, 17) # type: ignore NVOS32_ATTR2_ZBC_SKIP_ZBCREFCOUNT_NO = 0x00000000 # type: ignore NVOS32_ATTR2_ZBC_SKIP_ZBCREFCOUNT_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_ISO = (18, 18) # type: ignore NVOS32_ATTR2_ISO_NO = 0x00000000 # type: ignore NVOS32_ATTR2_ISO_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_BLACKLIST = (19, 19) # type: ignore NVOS32_ATTR2_BLACKLIST_ON = 0x00000000 # type: ignore NVOS32_ATTR2_BLACKLIST_OFF = 0x00000001 # type: ignore +NVOS32_ATTR2_PAGE_OFFLINING = (19, 19) # type: ignore NVOS32_ATTR2_PAGE_OFFLINING_ON = 0x00000000 # type: ignore NVOS32_ATTR2_PAGE_OFFLINING_OFF = 0x00000001 # type: ignore +NVOS32_ATTR2_PAGE_SIZE_HUGE = (21, 20) # type: ignore NVOS32_ATTR2_PAGE_SIZE_HUGE_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_PAGE_SIZE_HUGE_2MB = 0x00000001 # type: ignore NVOS32_ATTR2_PAGE_SIZE_HUGE_512MB = 0x00000002 # type: ignore NVOS32_ATTR2_PAGE_SIZE_HUGE_256GB = 0x00000003 # type: ignore +NVOS32_ATTR2_PROTECTION_USER = (22, 22) # type: ignore NVOS32_ATTR2_PROTECTION_USER_READ_WRITE = 0x00000000 # type: ignore NVOS32_ATTR2_PROTECTION_USER_READ_ONLY = 0x00000001 # type: ignore +NVOS32_ATTR2_PROTECTION_DEVICE = (23, 23) # type: ignore NVOS32_ATTR2_PROTECTION_DEVICE_READ_WRITE = 0x00000000 # type: ignore NVOS32_ATTR2_PROTECTION_DEVICE_READ_ONLY = 0x00000001 # type: ignore +NVOS32_ATTR2_USE_EGM = (24, 24) # type: ignore NVOS32_ATTR2_USE_EGM_FALSE = 0x00000000 # type: ignore NVOS32_ATTR2_USE_EGM_TRUE = 0x00000001 # type: ignore +NVOS32_ATTR2_MEMORY_PROTECTION = (26, 25) # type: ignore NVOS32_ATTR2_MEMORY_PROTECTION_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_MEMORY_PROTECTION_PROTECTED = 0x00000001 # type: ignore NVOS32_ATTR2_MEMORY_PROTECTION_UNPROTECTED = 0x00000002 # type: ignore +NVOS32_ATTR2_ALLOCATE_FROM_SUBHEAP = (27, 27) # type: ignore NVOS32_ATTR2_ALLOCATE_FROM_SUBHEAP_NO = 0x00000000 # type: ignore NVOS32_ATTR2_ALLOCATE_FROM_SUBHEAP_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_REGISTER_MEMDESC_TO_PHYS_RM = (31, 31) # type: ignore NVOS32_ATTR2_REGISTER_MEMDESC_TO_PHYS_RM_FALSE = 0x00000000 # type: ignore NVOS32_ATTR2_REGISTER_MEMDESC_TO_PHYS_RM_TRUE = 0x00000001 # type: ignore NVOS32_ALLOC_FLAGS_IGNORE_BANK_PLACEMENT = 0x00000001 # type: ignore @@ -16867,16 +17688,24 @@ NVOS32_ALLOC_INTERNAL_FLAGS_SKIP_SCRUB = 0x00000004 # type: ignore NVOS32_ALLOC_FLAGS_MAXIMIZE_4GB_ADDRESS_SPACE = NVOS32_ALLOC_FLAGS_MAXIMIZE_ADDRESS_SPACE # type: ignore NVOS32_ALLOC_FLAGS_VIRTUAL_ONLY = ( NVOS32_ALLOC_FLAGS_VIRTUAL | NVOS32_ALLOC_FLAGS_LAZY | NVOS32_ALLOC_FLAGS_EXTERNALLY_MANAGED | NVOS32_ALLOC_FLAGS_SPARSE | NVOS32_ALLOC_FLAGS_MAXIMIZE_ADDRESS_SPACE | NVOS32_ALLOC_FLAGS_PREFER_PTES_IN_SYSMEMORY ) # type: ignore NVOS32_ALLOC_COMPR_COVG_SCALE = 10 # type: ignore +NVOS32_ALLOC_COMPR_COVG_BITS = (1, 0) # type: ignore NVOS32_ALLOC_COMPR_COVG_BITS_DEFAULT = 0x00000000 # type: ignore NVOS32_ALLOC_COMPR_COVG_BITS_1 = 0x00000001 # type: ignore NVOS32_ALLOC_COMPR_COVG_BITS_2 = 0x00000002 # type: ignore NVOS32_ALLOC_COMPR_COVG_BITS_4 = 0x00000003 # type: ignore +NVOS32_ALLOC_COMPR_COVG_MAX = (11, 2) # type: ignore +NVOS32_ALLOC_COMPR_COVG_MIN = (21, 12) # type: ignore +NVOS32_ALLOC_COMPR_COVG_START = (31, 22) # type: ignore +NVOS32_ALLOC_ZCULL_COVG_FORMAT = (3, 0) # type: ignore NVOS32_ALLOC_ZCULL_COVG_FORMAT_LOW_RES_Z = 0x00000000 # type: ignore NVOS32_ALLOC_ZCULL_COVG_FORMAT_HIGH_RES_Z = 0x00000002 # type: ignore NVOS32_ALLOC_ZCULL_COVG_FORMAT_LOW_RES_ZS = 0x00000003 # type: ignore +NVOS32_ALLOC_ZCULL_COVG_FALLBACK = (4, 4) # type: ignore NVOS32_ALLOC_ZCULL_COVG_FALLBACK_DISALLOW = 0x00000000 # type: ignore NVOS32_ALLOC_ZCULL_COVG_FALLBACK_ALLOW = 0x00000001 # type: ignore +NVOS32_ALLOC_COMPTAG_OFFSET_START = (19, 0) # type: ignore NVOS32_ALLOC_COMPTAG_OFFSET_START_DEFAULT = 0x00000000 # type: ignore +NVOS32_ALLOC_COMPTAG_OFFSET_USAGE = (31, 30) # type: ignore NVOS32_ALLOC_COMPTAG_OFFSET_USAGE_DEFAULT = 0x00000000 # type: ignore NVOS32_ALLOC_COMPTAG_OFFSET_USAGE_OFF = 0x00000000 # type: ignore NVOS32_ALLOC_COMPTAG_OFFSET_USAGE_FIXED = 0x00000001 # type: ignore @@ -16888,6 +17717,7 @@ NVOS32_REALLOC_FLAGS_REALLOC_DOWN = 0x00000002 # type: ignore NVOS32_RELEASE_COMPR_FLAGS_MEMORY_HANDLE_PROVIDED = 0x000000001 # type: ignore NVOS32_REACQUIRE_COMPR_FLAGS_MEMORY_HANDLE_PROVIDED = 0x000000001 # type: ignore NVOS32_FREE_FLAGS_MEMORY_HANDLE_PROVIDED = 0x00000001 # type: ignore +NVOS32_DUMP_FLAGS_TYPE = (1, 0) # type: ignore NVOS32_DUMP_FLAGS_TYPE_FB = 0x00000000 # type: ignore NVOS32_DUMP_FLAGS_TYPE_CLIENT_PD = 0x00000001 # type: ignore NVOS32_DUMP_FLAGS_TYPE_CLIENT_VA = 0x00000002 # type: ignore @@ -16898,32 +17728,43 @@ NVOS32_MEM_TAG_NONE = 0x00000000 # type: ignore NV04_MAP_MEMORY = (0x00000021) # type: ignore NV04_MAP_MEMORY_FLAGS_NONE = (0x00000000) # type: ignore NV04_MAP_MEMORY_FLAGS_USER = (0x00004000) # type: ignore +NVOS33_FLAGS_ACCESS = (1, 0) # type: ignore NVOS33_FLAGS_ACCESS_READ_WRITE = (0x00000000) # type: ignore NVOS33_FLAGS_ACCESS_READ_ONLY = (0x00000001) # type: ignore NVOS33_FLAGS_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore +NVOS33_FLAGS_PERSISTENT = (4, 4) # type: ignore NVOS33_FLAGS_PERSISTENT_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_PERSISTENT_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_SKIP_SIZE_CHECK = (8, 8) # type: ignore NVOS33_FLAGS_SKIP_SIZE_CHECK_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_SKIP_SIZE_CHECK_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_MEM_SPACE = (14, 14) # type: ignore NVOS33_FLAGS_MEM_SPACE_CLIENT = (0x00000000) # type: ignore NVOS33_FLAGS_MEM_SPACE_USER = (0x00000001) # type: ignore +NVOS33_FLAGS_MAPPING = (16, 15) # type: ignore NVOS33_FLAGS_MAPPING_DEFAULT = (0x00000000) # type: ignore NVOS33_FLAGS_MAPPING_DIRECT = (0x00000001) # type: ignore NVOS33_FLAGS_MAPPING_REFLECTED = (0x00000002) # type: ignore +NVOS33_FLAGS_FIFO_MAPPING = (17, 17) # type: ignore NVOS33_FLAGS_FIFO_MAPPING_DEFAULT = (0x00000000) # type: ignore NVOS33_FLAGS_FIFO_MAPPING_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_MAP_FIXED = (18, 18) # type: ignore NVOS33_FLAGS_MAP_FIXED_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_MAP_FIXED_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_RESERVE_ON_UNMAP = (19, 19) # type: ignore NVOS33_FLAGS_RESERVE_ON_UNMAP_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_RESERVE_ON_UNMAP_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_OS_DESCRIPTOR = (22, 22) # type: ignore NVOS33_FLAGS_OS_DESCRIPTOR_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_OS_DESCRIPTOR_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_CACHING_TYPE = (25, 23) # type: ignore NVOS33_FLAGS_CACHING_TYPE_CACHED = 0 # type: ignore NVOS33_FLAGS_CACHING_TYPE_UNCACHED = 1 # type: ignore NVOS33_FLAGS_CACHING_TYPE_WRITECOMBINED = 2 # type: ignore NVOS33_FLAGS_CACHING_TYPE_WRITEBACK = 5 # type: ignore NVOS33_FLAGS_CACHING_TYPE_DEFAULT = 6 # type: ignore NVOS33_FLAGS_CACHING_TYPE_UNCACHED_WEAK = 7 # type: ignore +NVOS33_FLAGS_ALLOW_MAPPING_ON_HCC = (26, 26) # type: ignore NVOS33_FLAGS_ALLOW_MAPPING_ON_HCC_NO = (0x00000000) # type: ignore NVOS33_FLAGS_ALLOW_MAPPING_ON_HCC_YES = (0x00000001) # type: ignore NV04_UNMAP_MEMORY = (0x00000022) # type: ignore @@ -16938,49 +17779,70 @@ NV04_ALLOC_CONTEXT_DMA = (0x00000027) # type: ignore NV04_GET_EVENT_DATA = (0x00000028) # type: ignore NVSIM01_BUS_XACT = (0x0000002C) # type: ignore NV04_MAP_MEMORY_DMA = (0x0000002E) # type: ignore +NVOS46_FLAGS_ACCESS = (1, 0) # type: ignore NVOS46_FLAGS_ACCESS_READ_WRITE = (0x00000000) # type: ignore NVOS46_FLAGS_ACCESS_READ_ONLY = (0x00000001) # type: ignore NVOS46_FLAGS_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore +NVOS46_FLAGS_32BIT_POINTER = (2, 2) # type: ignore NVOS46_FLAGS_32BIT_POINTER_DISABLE = (0x00000000) # type: ignore NVOS46_FLAGS_32BIT_POINTER_ENABLE = (0x00000001) # type: ignore +NVOS46_FLAGS_PAGE_KIND = (3, 3) # type: ignore NVOS46_FLAGS_PAGE_KIND_PHYSICAL = (0x00000000) # type: ignore NVOS46_FLAGS_PAGE_KIND_VIRTUAL = (0x00000001) # type: ignore +NVOS46_FLAGS_CACHE_SNOOP = (4, 4) # type: ignore NVOS46_FLAGS_CACHE_SNOOP_DISABLE = (0x00000000) # type: ignore NVOS46_FLAGS_CACHE_SNOOP_ENABLE = (0x00000001) # type: ignore +NVOS46_FLAGS_KERNEL_MAPPING = (5, 5) # type: ignore NVOS46_FLAGS_KERNEL_MAPPING_NONE = (0x00000000) # type: ignore NVOS46_FLAGS_KERNEL_MAPPING_ENABLE = (0x00000001) # type: ignore +NVOS46_FLAGS_SHADER_ACCESS = (7, 6) # type: ignore NVOS46_FLAGS_SHADER_ACCESS_DEFAULT = (0x00000000) # type: ignore NVOS46_FLAGS_SHADER_ACCESS_READ_ONLY = (0x00000001) # type: ignore NVOS46_FLAGS_SHADER_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore NVOS46_FLAGS_SHADER_ACCESS_READ_WRITE = (0x00000003) # type: ignore +NVOS46_FLAGS_PAGE_SIZE = (11, 8) # type: ignore NVOS46_FLAGS_PAGE_SIZE_DEFAULT = (0x00000000) # type: ignore NVOS46_FLAGS_PAGE_SIZE_4KB = (0x00000001) # type: ignore NVOS46_FLAGS_PAGE_SIZE_BIG = (0x00000002) # type: ignore NVOS46_FLAGS_PAGE_SIZE_BOTH = (0x00000003) # type: ignore NVOS46_FLAGS_PAGE_SIZE_HUGE = (0x00000004) # type: ignore NVOS46_FLAGS_PAGE_SIZE_512M = (0x00000005) # type: ignore +NVOS46_FLAGS_SYSTEM_L3_ALLOC = (13, 13) # type: ignore NVOS46_FLAGS_SYSTEM_L3_ALLOC_DEFAULT = (0x00000000) # type: ignore NVOS46_FLAGS_SYSTEM_L3_ALLOC_ENABLE_HINT = (0x00000001) # type: ignore +NVOS46_FLAGS_DMA_OFFSET_GROWS = (14, 14) # type: ignore NVOS46_FLAGS_DMA_OFFSET_GROWS_UP = (0x00000000) # type: ignore NVOS46_FLAGS_DMA_OFFSET_GROWS_DOWN = (0x00000001) # type: ignore +NVOS46_FLAGS_DMA_OFFSET_FIXED = (15, 15) # type: ignore NVOS46_FLAGS_DMA_OFFSET_FIXED_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_DMA_OFFSET_FIXED_TRUE = (0x00000001) # type: ignore +NVOS46_FLAGS_DISABLE_ENCRYPTION = (16, 16) # type: ignore NVOS46_FLAGS_DISABLE_ENCRYPTION_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_DISABLE_ENCRYPTION_TRUE = (0x00000001) # type: ignore +NVOS46_FLAGS_P2P = (27, 20) # type: ignore +NVOS46_FLAGS_P2P_ENABLE = (21, 20) # type: ignore NVOS46_FLAGS_P2P_ENABLE_NO = (0x00000000) # type: ignore NVOS46_FLAGS_P2P_ENABLE_YES = (0x00000001) # type: ignore NVOS46_FLAGS_P2P_ENABLE_NONE = NVOS46_FLAGS_P2P_ENABLE_NO # type: ignore NVOS46_FLAGS_P2P_ENABLE_SLI = NVOS46_FLAGS_P2P_ENABLE_YES # type: ignore NVOS46_FLAGS_P2P_ENABLE_NOSLI = (0x00000002) # type: ignore +NVOS46_FLAGS_P2P_SUBDEVICE_ID = (24, 22) # type: ignore +NVOS46_FLAGS_P2P_SUBDEV_ID_SRC = NVOS46_FLAGS_P2P_SUBDEVICE_ID # type: ignore +NVOS46_FLAGS_P2P_SUBDEV_ID_TGT = (27, 25) # type: ignore +NVOS46_FLAGS_TLB_LOCK = (28, 28) # type: ignore NVOS46_FLAGS_TLB_LOCK_DISABLE = (0x00000000) # type: ignore NVOS46_FLAGS_TLB_LOCK_ENABLE = (0x00000001) # type: ignore +NVOS46_FLAGS_DMA_UNICAST_REUSE_ALLOC = (29, 29) # type: ignore NVOS46_FLAGS_DMA_UNICAST_REUSE_ALLOC_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_DMA_UNICAST_REUSE_ALLOC_TRUE = (0x00000001) # type: ignore +NVOS46_FLAGS_ENABLE_FORCE_COMPRESSED_MAP = (30, 30) # type: ignore NVOS46_FLAGS_ENABLE_FORCE_COMPRESSED_MAP_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_ENABLE_FORCE_COMPRESSED_MAP_TRUE = (0x00000001) # type: ignore +NVOS46_FLAGS_DEFER_TLB_INVALIDATION = (31, 31) # type: ignore NVOS46_FLAGS_DEFER_TLB_INVALIDATION_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_DEFER_TLB_INVALIDATION_TRUE = (0x00000001) # type: ignore NV04_UNMAP_MEMORY_DMA = (0x0000002F) # type: ignore +NVOS47_FLAGS_DEFER_TLB_INVALIDATION = (0, 0) # type: ignore NVOS47_FLAGS_DEFER_TLB_INVALIDATION_FALSE = (0x00000000) # type: ignore NVOS47_FLAGS_DEFER_TLB_INVALIDATION_TRUE = (0x00000001) # type: ignore NV04_BIND_CONTEXT_DMA = (0x00000031) # type: ignore @@ -17018,8 +17880,11 @@ NV_CHANNELGPFIFO_NOTIFICATION_TYPE_ERROR = 0x00000000 # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_TYPE_WORK_SUBMIT_TOKEN = 0x00000001 # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_TYPE_KEY_ROTATION_STATUS = 0x00000002 # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_TYPE__SIZE_1 = 3 # type: ignore +NV_CHANNELGPFIFO_NOTIFICATION_STATUS_VALUE = (14, 0) # type: ignore +NV_CHANNELGPFIFO_NOTIFICATION_STATUS_IN_PROGRESS = (15, 15) # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_STATUS_IN_PROGRESS_TRUE = 0x1 # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_STATUS_IN_PROGRESS_FALSE = 0x0 # type: ignore +NV50VAIO_CHANNELDMA_ALLOCATION_FLAGS_CONNECT_PB_AT_GRAB = (1, 1) # type: ignore NV50VAIO_CHANNELDMA_ALLOCATION_FLAGS_CONNECT_PB_AT_GRAB_YES = 0x00000000 # type: ignore NV50VAIO_CHANNELDMA_ALLOCATION_FLAGS_CONNECT_PB_AT_GRAB_NO = 0x00000001 # type: ignore NV_SWRUNLIST_QOS_INTR_NONE = 0x00000000 # type: ignore @@ -17052,10 +17917,13 @@ NV_VASPACE_ALLOCATION_INDEX_GPU_FLA = 0x04 # type: ignore NV_VASPACE_ALLOCATION_INDEX_GPU_MAX = 0x05 # type: ignore NV_VASPACE_BIG_PAGE_SIZE_64K = (64 * 1024) # type: ignore NV_VASPACE_BIG_PAGE_SIZE_128K = (128 * 1024) # type: ignore +NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT = (1, 0) # type: ignore NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT_SYNC = (0x00000000) # type: ignore NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT_ASYNC = (0x00000001) # type: ignore NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT_SPECIFIED = (0x00000002) # type: ignore NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT_ASYNC_PREFER_LOWER = (0x00000003) # type: ignore +NV_CTXSHARE_ALLOCATION_SUBCTXID_SUBCTXID = (30, 0) # type: ignore +NV_CTXSHARE_ALLOCATION_SUBCTXID_ASYNC_PREFER_LOWER_ALLOCATION = (31, 31) # type: ignore NV_CTXSHARE_ALLOCATION_SUBCTXID_ASYNC_PREFER_LOWER_ALLOCATION_SUCCESS = (0x00000001) # type: ignore NV_CTXSHARE_ALLOCATION_SUBCTXID_ASYNC_PREFER_LOWER_ALLOCATION_FAIL = (0x00000000) # type: ignore NV_TIMEOUT_CONTROL_CMD_SET_DEVICE_TIMEOUT = (0x00000002) # type: ignore @@ -17317,16 +18185,22 @@ NV0000_CTRL_SLI_STATUS_GPU_NOT_SUPPORTED = (0x00000040) # type: ignore NV0000_CTRL_SLI_STATUS_INVALID_GPU_COUNT = (0x00000001) # type: ignore NV0000_CTRL_CMD_GPU_GET_ID_INFO_V2 = (0x205) # type: ignore NV0000_CTRL_GPU_GET_ID_INFO_V2_PARAMS_MESSAGE_ID = (0x5) # type: ignore +NV0000_CTRL_GPU_ID_INFO_IN_USE = (0, 0) # type: ignore NV0000_CTRL_GPU_ID_INFO_IN_USE_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_IN_USE_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_LINKED_INTO_SLI_DEVICE = (1, 1) # type: ignore NV0000_CTRL_GPU_ID_INFO_LINKED_INTO_SLI_DEVICE_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_LINKED_INTO_SLI_DEVICE_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_MOBILE = (2, 2) # type: ignore NV0000_CTRL_GPU_ID_INFO_MOBILE_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_MOBILE_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_BOOT_MASTER = (3, 3) # type: ignore NV0000_CTRL_GPU_ID_INFO_BOOT_MASTER_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_BOOT_MASTER_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_SOC = (5, 5) # type: ignore NV0000_CTRL_GPU_ID_INFO_SOC_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_SOC_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_ATS_ENABLED = (6, 6) # type: ignore NV0000_CTRL_GPU_ID_INFO_ATS_ENABLED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_ATS_ENABLED_TRUE = (0x00000001) # type: ignore NV0000_CTRL_CMD_GPU_GET_INIT_STATUS = (0x203) # type: ignore @@ -17351,14 +18225,18 @@ NV0000_CTRL_GPU_GET_SVM_SIZE_PARAMS_MESSAGE_ID = (0x40) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO = (0x274) # type: ignore NV0000_GPU_MAX_GID_LENGTH = (0x00000100) # type: ignore NV0000_CTRL_GPU_GET_UUID_INFO_PARAMS_MESSAGE_ID = (0x74) # type: ignore +NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_FORMAT = (1, 0) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_FORMAT_ASCII = (0x00000000) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_FORMAT_BINARY = (0x00000002) # type: ignore +NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_TYPE = (2, 2) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_TYPE_SHA1 = (0x00000000) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_TYPE_SHA256 = (0x00000001) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID = (0x275) # type: ignore NV0000_CTRL_GPU_GET_UUID_FROM_GPU_ID_PARAMS_MESSAGE_ID = (0x75) # type: ignore +NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_FORMAT = (1, 0) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_FORMAT_ASCII = (0x00000000) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_FORMAT_BINARY = (0x00000002) # type: ignore +NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_TYPE = (2, 2) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_TYPE_SHA1 = (0x00000000) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_TYPE_SHA256 = (0x00000001) # type: ignore NV0000_CTRL_CMD_GPU_MODIFY_DRAIN_STATE = (0x278) # type: ignore @@ -17391,6 +18269,8 @@ NV0000_CTRL_GPU_IMAGE_TYPE_GSP_LOG = (0x00000002) # type: ignore NV0000_CTRL_GPU_IMAGE_TYPE_BINDATA_IMAGE = (0x00000003) # type: ignore NV0000_CTRL_CMD_PUSH_UCODE_IMAGE = (0x285) # type: ignore NV0000_CTRL_GPU_PUSH_UCODE_IMAGE_PARAMS_MESSAGE_ID = (0x85) # type: ignore +NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_SETTING_LEGACY = (2, 0) # type: ignore +NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_SETTING_LINK_COUNT = (7, 3) # type: ignore NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_FULL = (0x00) # type: ignore NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_OFF = (0x01) # type: ignore NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_MIN = (0x02) # type: ignore @@ -17455,29 +18335,41 @@ NV0000_CTRL_NVD_RUNTIME_SIZE_STRING = (3) # type: ignore NV0000_CTRL_NVD_RUNTIME_SIZE_PTR = (4) # type: ignore NV0000_CTRL_NVD_RUNTIME_SIZE_CHAR = (5) # type: ignore NV0000_CTRL_NVD_RUNTIME_SIZE_FLOAT = (6) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_BUFFER_INFO = (7, 0) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_BUFFER_SIZE = (23, 8) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_BUFFER_SIZE_DISABLE = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_BUFFER_SIZE_DEFAULT = (0x00000004) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_RUNTIME_LEVEL = (28, 25) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP = (30, 29) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP_NONE = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP_32 = (0x00000001) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP_64 = (0x00000002) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP_32_DIFF = (0x00000003) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_INITED = (31, 31) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_INITED_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_INITED_YES = (0x00000001) # type: ignore NV0000_CTRL_CMD_NVD_GET_NVLOG_BUFFER_INFO = (0x605) # type: ignore NV0000_CTRL_NVD_GET_NVLOG_BUFFER_INFO_PARAMS_MESSAGE_ID = (0x5) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_PAUSE = (0, 0) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_PAUSE_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_PAUSE_YES = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_DISABLED = (0, 0) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_DISABLED_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_DISABLED_YES = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_TYPE = (1, 1) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_TYPE_RING = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_TYPE_NOWRAP = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_EXPANDABLE = (2, 2) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_EXPANDABLE_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_EXPANDABLE_YES = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_NONPAGED = (3, 3) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_NONPAGED_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_NONPAGED_YES = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_LOCKING = (5, 4) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_LOCKING_NONE = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_LOCKING_STATE = (0x00000001) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_LOCKING_FULL = (0x00000002) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_OCA = (6, 6) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_OCA_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_OCA_YES = (0x00000001) # type: ignore NV0000_CTRL_CMD_NVD_GET_NVLOG = (0x606) # type: ignore @@ -17520,18 +18412,26 @@ NV0000_CTRL_CMD_SYNC_GPU_BOOST_GROUP_INFO = (0xa04) # type: ignore NV0000_SYNC_GPU_BOOST_GROUP_INFO_PARAMS_MESSAGE_ID = (0x4) # type: ignore NV0000_CTRL_CMD_SYSTEM_GET_FEATURES = (0x1f0) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_PARAMS_MESSAGE_ID = (0xF0) # type: ignore +NV0000_CTRL_SYSTEM_GET_FEATURES_SLI = (0, 0) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_SLI_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_SLI_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_FEATURES_IS_EFI_INIT = (2, 2) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_IS_EFI_INIT_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_IS_EFI_INIT_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_FEATURES_UUID_BASED_MEM_SHARING = (3, 3) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_UUID_BASED_MEM_SHARING_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_UUID_BASED_MEM_SHARING_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_FEATURES_RM_TEST_ONLY_CODE_ENABLED = (4, 4) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_RM_TEST_ONLY_CODE_ENABLED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_RM_TEST_ONLY_CODE_ENABLED_TRUE = (0x00000001) # type: ignore NV0000_CTRL_CMD_SYSTEM_GET_BUILD_VERSION = (0x101) # type: ignore NV0000_CTRL_SYSTEM_GET_BUILD_VERSION_PARAMS_MESSAGE_ID = (0x1) # type: ignore NV0000_CTRL_CMD_SYSTEM_GET_CPU_INFO = (0x102) # type: ignore NV0000_CTRL_SYSTEM_GET_CPU_INFO_PARAMS_MESSAGE_ID = (0x2) # type: ignore +NV0000_CTRL_SYSTEM_CPU_FAMILY = (3, 0) # type: ignore +NV0000_CTRL_SYSTEM_CPU_EXTENDED_FAMILY = (11, 4) # type: ignore +NV0000_CTRL_SYSTEM_CPU_MODEL = (3, 0) # type: ignore +NV0000_CTRL_SYSTEM_CPU_EXTENDED_MODEL = (7, 4) # type: ignore NV0000_CTRL_SYSTEM_CPU_ID_AMD_FAMILY = 0xF # type: ignore NV0000_CTRL_SYSTEM_CPU_ID_AMD_EXTENDED_FAMILY = 0xA # type: ignore NV0000_CTRL_SYSTEM_CPU_ID_AMD_MODEL = 0x0 # type: ignore @@ -17608,6 +18508,7 @@ NV0000_CTRL_CMD_SYSTEM_GET_CHIPSET_INFO = (0x104) # type: ignore NV0000_SYSTEM_MAX_CHIPSET_STRING_LENGTH = (0x0000020) # type: ignore NV0000_SYSTEM_CHIPSET_INVALID_ID = (0xffff) # type: ignore NV0000_CTRL_SYSTEM_GET_CHIPSET_INFO_PARAMS_MESSAGE_ID = (0x4) # type: ignore +NV0000_CTRL_SYSTEM_CHIPSET_FLAG_HAS_RESIZABLE_BAR_ISSUE = (0, 0) # type: ignore NV0000_CTRL_SYSTEM_CHIPSET_FLAG_HAS_RESIZABLE_BAR_ISSUE_NO = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_CHIPSET_FLAG_HAS_RESIZABLE_BAR_ISSUE_YES = (0x00000001) # type: ignore NV0000_CTRL_SYSTEM_GET_VRR_COOKIE_PRESENT = (0x107) # type: ignore @@ -17774,30 +18675,43 @@ NV0000_CTRL_P2P_CAPS_INDEX_C2C = 7 # type: ignore NV0000_CTRL_P2P_CAPS_INDEX_PCI_BAR1 = 8 # type: ignore NV0000_CTRL_P2P_CAPS_INDEX_TABLE_SIZE = 9 # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PARAMS_MESSAGE_ID = (0x27) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_WRITES_SUPPORTED = (0, 0) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_WRITES_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_WRITES_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_READS_SUPPORTED = (1, 1) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_READS_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_READS_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PROP_SUPPORTED = (2, 2) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PROP_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PROP_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_NVLINK_SUPPORTED = (3, 3) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_NVLINK_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_NVLINK_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_ATOMICS_SUPPORTED = (4, 4) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_ATOMICS_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_ATOMICS_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_LOOPBACK_SUPPORTED = (5, 5) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_LOOPBACK_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_LOOPBACK_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_SUPPORTED = (6, 6) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_WRITES_SUPPORTED = (7, 7) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_WRITES_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_WRITES_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_READS_SUPPORTED = (8, 8) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_READS_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_READS_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_ATOMICS_SUPPORTED = (9, 9) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_ATOMICS_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_ATOMICS_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_NVLINK_SUPPORTED = (10, 10) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_NVLINK_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_NVLINK_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_C2C_SUPPORTED = (12, 12) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_C2C_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_C2C_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_BAR1_SUPPORTED = (13, 13) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_BAR1_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_BAR1_SUPPORTED_TRUE = (0x00000001) # type: ignore NV0000_P2P_CAPS_STATUS_OK = (0x00) # type: ignore @@ -17906,10 +18820,12 @@ NV0000_CTRL_GPS_CMD_TYPE_GET_PPM_AVAILABLE_MASK = (1) # type: ignore NV0000_CTRL_GPS_CMD_TYPE_SET_PPM = (0x00000049) # type: ignore NV0000_CTRL_GPS_CMD_TYPE_SET_PPM_INDEX = (0) # type: ignore NV0000_CTRL_GPS_CMD_TYPE_SET_PPM_INDEX_MAX = (2) # type: ignore +NV0000_CTRL_GPS_PPM_INDEX = (7, 0) # type: ignore NV0000_CTRL_GPS_PPM_INDEX_MAXPERF = (0) # type: ignore NV0000_CTRL_GPS_PPM_INDEX_BALANCED = (1) # type: ignore NV0000_CTRL_GPS_PPM_INDEX_QUIET = (2) # type: ignore NV0000_CTRL_GPS_PPM_INDEX_INVALID = (0xFF) # type: ignore +NV0000_CTRL_GPS_PPM_MASK = (15, 8) # type: ignore NV0000_CTRL_GPS_PPM_MASK_INVALID = (0) # type: ignore NV0000_CTRL_GPS_CMD_PS_STATUS_OFF = (0) # type: ignore NV0000_CTRL_GPS_CMD_PS_STATUS_ON = (1) # type: ignore @@ -17997,6 +18913,7 @@ NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_DC_SYSTEM_POWER_LIMITS_CASE = 5 # type: ig NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_CPU_TDP_LIMIT_CONTROL_CASE = 6 # type: ignore NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_SUPPORTED = (0x00000000) # type: ignore NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_DYNAMIC_PARAMS = (0x00000002) # type: ignore +NVPCF0100_CTRL_CONFIG_DSM_FUNC_GET_SUPPORTED_IS_SUPPORTED = (0, 0) # type: ignore NVPCF0100_CTRL_CONFIG_DSM_FUNC_GET_SUPPORTED_IS_SUPPORTED_YES = 1 # type: ignore NVPCF0100_CTRL_CONFIG_DSM_FUNC_GET_SUPPORTED_IS_SUPPORTED_NO = 0 # type: ignore NVPCF0100_CTRL_CONFIG_DSM_2X_VERSION = (0x00000200) # type: ignore @@ -18215,10 +19132,12 @@ NV0000_CTRL_PFM_REQ_HNDLR_CMD_TYPE_GET_PPM_AVAILABLE_MASK = (1) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_TYPE_SET_PPM = (0x00000049) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_TYPE_SET_PPM_INDEX = (0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_TYPE_SET_PPM_INDEX_MAX = (2) # type: ignore +NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX = (7, 0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX_MAXPERF = (0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX_BALANCED = (1) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX_QUIET = (2) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX_INVALID = (0xFF) # type: ignore +NV0000_CTRL_PFM_REQ_HNDLR_PPM_MASK = (15, 8) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_MASK_INVALID = (0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_PS_STATUS_OFF = (0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_PS_STATUS_ON = (1) # type: ignore @@ -18244,6 +19163,7 @@ NV0000_CTRL_OS_UNIX_FLAGS_USER_CACHE_FLUSH_INVALIDATE = (0x00000003) # type: ign NV0000_CTRL_CMD_OS_UNIX_GET_CONTROL_FILE_DESCRIPTOR = (0x3d04) # type: ignore NV0000_CTRL_CMD_OS_UNIX_EXPORT_OBJECT_TO_FD = (0x3d05) # type: ignore NV0000_CTRL_OS_UNIX_EXPORT_OBJECT_TO_FD_PARAMS_MESSAGE_ID = (0x5) # type: ignore +NV0000_CTRL_OS_UNIX_EXPORT_OBJECT_TO_FD_FLAGS_EMPTY_FD = (0, 0) # type: ignore NV0000_CTRL_OS_UNIX_EXPORT_OBJECT_TO_FD_FLAGS_EMPTY_FD_FALSE = (0x00000000) # type: ignore NV0000_CTRL_OS_UNIX_EXPORT_OBJECT_TO_FD_FLAGS_EMPTY_FD_TRUE = (0x00000001) # type: ignore NV0000_CTRL_CMD_OS_UNIX_IMPORT_OBJECT_FROM_FD = (0x3d06) # type: ignore @@ -18267,6 +19187,9 @@ NV0000_CTRL_CMD_OS_UNIX_IMPORT_OBJECT_TYPE_SYSMEM = 2 # type: ignore NV0000_CTRL_CMD_OS_UNIX_IMPORT_OBJECT_TYPE_FABRIC = 3 # type: ignore NV0000_CTRL_CMD_OS_UNIX_IMPORT_OBJECT_TYPE_FABRIC_MC = 4 # type: ignore NV0000_CTRL_OS_UNIX_IMPORT_OBJECTS_FROM_FD_PARAMS_MESSAGE_ID = (0xC) # type: ignore +NV0000_BUSDEVICE_DOMAIN = (31, 16) # type: ignore +NV0000_BUSDEVICE_BUS = (15, 8) # type: ignore +NV0000_BUSDEVICE_DEVICE = (7, 0) # type: ignore NV0000_CTRL_CMD_VGPU_CREATE_DEVICE = (0xc02) # type: ignore NV0000_CTRL_VGPU_CREATE_DEVICE_PARAMS_MESSAGE_ID = (0x2) # type: ignore NV0000_CTRL_CMD_VGPU_GET_INSTANCES = (0xc03) # type: ignore @@ -18300,6 +19223,7 @@ NV0080_CTRL_NVLINK = (0x21) # type: ignore NV0080_CTRL_CMD_NULL = (0x800000) # type: ignore NV0080_CTRL_CMD_BIF_RESET = (0x800102) # type: ignore NV0080_CTRL_BIF_RESET_PARAMS_MESSAGE_ID = (0x2) # type: ignore +NV0080_CTRL_BIF_RESET_FLAGS_TYPE = (4, 0) # type: ignore NV0080_CTRL_BIF_RESET_FLAGS_TYPE_SW_RESET = 0x1 # type: ignore NV0080_CTRL_BIF_RESET_FLAGS_TYPE_SBR = 0x2 # type: ignore NV0080_CTRL_BIF_RESET_FLAGS_TYPE_FUNDAMENTAL = 0x3 # type: ignore @@ -18310,8 +19234,10 @@ NV0080_CTRL_BIF_RESET_FLAGS_TYPE_OOBHUB_TRIGGER = 0x7 # type: ignore NV0080_CTRL_BIF_RESET_FLAGS_TYPE_BASE = 0x8 # type: ignore NV0080_CTRL_CMD_BIF_SET_ASPM_FEATURE = (0x800104) # type: ignore NV0080_CTRL_BIF_SET_ASPM_FEATURE_PARAMS_MESSAGE_ID = (0x4) # type: ignore +NV0080_CTRL_BIF_ASPM_FEATURE_DT_L0S = (0, 0) # type: ignore NV0080_CTRL_BIF_ASPM_FEATURE_DT_L0S_ENABLED = 0x000000001 # type: ignore NV0080_CTRL_BIF_ASPM_FEATURE_DT_L0S_DISABLED = 0x000000000 # type: ignore +NV0080_CTRL_BIF_ASPM_FEATURE_DT_L1 = (1, 1) # type: ignore NV0080_CTRL_BIF_ASPM_FEATURE_DT_L1_ENABLED = 0x000000001 # type: ignore NV0080_CTRL_BIF_ASPM_FEATURE_DT_L1_DISABLED = 0x000000000 # type: ignore NV0080_CTRL_CMD_BIF_ASPM_CYA_UPDATE = (0x800105) # type: ignore @@ -18323,32 +19249,42 @@ NV0080_CTRL_BSP_GET_CAPS_PARAMS_MESSAGE_ID = (0x1) # type: ignore NV0080_CTRL_BSP_CAPS_TBL_SIZE = 8 # type: ignore NV0080_CTRL_CMD_BSP_GET_CAPS_V2 = (0x801c02) # type: ignore NV0080_CTRL_BSP_GET_CAPS_PARAMS_V2_MESSAGE_ID = (0x2) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_VALID = (0, 0) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_VALID_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_VALID_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ENCRYPTED = (2, 1) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ENCRYPTED_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ENCRYPTED_TRUE = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ENCRYPTED_NOT_SUPPORTED = (0x00000002) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE = (6, 3) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE_VIDEO_MEMORY = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE_PEER_MEMORY = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE_SYSTEM_COHERENT_MEMORY = (0x00000002) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE_SYSTEM_NON_COHERENT_MEMORY = (0x00000003) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS = (10, 7) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS_NONE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS_1 = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS_2 = (0x00000002) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS_4 = (0x00000004) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_GPU_CACHED = (12, 11) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_GPU_CACHED_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_GPU_CACHED_TRUE = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_GPU_CACHED_NOT_SUPPORTED = (0x00000002) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS = (14, 13) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS_READ_WRITE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS_READ_ONLY = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS_NOT_SUPPORTED = (0x00000003) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_READ_ONLY = (15, 15) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_READ_ONLY_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_READ_ONLY_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ATOMIC = (16, 16) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ATOMIC_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ATOMIC_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ACCESS_COUNTING = (17, 17) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ACCESS_COUNTING_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ACCESS_COUNTING_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_PRIVILEGED = (18, 18) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_PRIVILEGED_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_PRIVILEGED_TRUE = (0x00000001) # type: ignore NV0080_CTRL_CMD_DMA_GET_PTE_INFO = (0x801801) # type: ignore @@ -18361,12 +19297,16 @@ NV0080_CTRL_CMD_DMA_FILL_PTE_MEM = (0x801802) # type: ignore NV0080_CTRL_DMA_FILL_PTE_MEM_PARAMS_MESSAGE_ID = (0x2) # type: ignore NV0080_CTRL_CMD_DMA_FLUSH = (0x801805) # type: ignore NV0080_CTRL_DMA_FLUSH_PARAMS_MESSAGE_ID = (0x5) # type: ignore +NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2 = (0, 0) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_COMPTAG = (1, 1) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_COMPTAG_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_COMPTAG_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_FB = (2, 2) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_FB_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_FB_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_INVALIDATE = (4, 3) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_INVALIDATE_SYSMEM = (0x00000001) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_INVALIDATE_PEERMEM = (0x00000002) # type: ignore NV0080_CTRL_CMD_DMA_ADV_SCHED_GET_VA_CAPS = (0x801806) # type: ignore @@ -18388,6 +19328,7 @@ NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS_PDE_SIZE_QUARTER = 3 # type: ignore NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS_PDE_SIZE_EIGHTH = 4 # type: ignore NV0080_CTRL_CMD_DMA_INVALIDATE_TLB = (0x80180c) # type: ignore NV0080_CTRL_DMA_INVALIDATE_TLB_PARAMS_MESSAGE_ID = (0xC) # type: ignore +NV0080_CTRL_DMA_INVALIDATE_TLB_ALL = (0, 0) # type: ignore NV0080_CTRL_DMA_INVALIDATE_TLB_ALL_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_INVALIDATE_TLB_ALL_TRUE = (0x00000001) # type: ignore NV0080_CTRL_CMD_DMA_GET_CAPS = (0x80180d) # type: ignore @@ -18405,14 +19346,18 @@ NV0080_CTRL_DMA_UPDATE_PDE_2_PT_IDX_SMALL = 0 # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_PT_IDX_BIG = 1 # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_PT_IDX__SIZE = 2 # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_PARAMS_MESSAGE_ID = (0xF) # type: ignore +NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FLUSH_PDE_CACHE = (0, 0) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FLUSH_PDE_CACHE_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FLUSH_PDE_CACHE_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FORCE_OVERRIDE = (1, 1) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FORCE_OVERRIDE_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FORCE_OVERRIDE_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE = (3, 2) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE_FULL = (0x00000000) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE_HALF = (0x00000001) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE_QUARTER = (0x00000002) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE_EIGHTH = (0x00000003) # type: ignore +NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_SPARSE = (4, 4) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_SPARSE_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_SPARSE_TRUE = (0x00000001) # type: ignore NV0080_CTRL_DMA_ENABLE_PRIVILEGED_RANGE = (0x801810) # type: ignore @@ -18421,15 +19366,20 @@ NV0080_CTRL_DMA_SET_DEFAULT_VASPACE = (0x801812) # type: ignore NV0080_CTRL_DMA_SET_DEFAULT_VASPACE_PARAMS_MESSAGE_ID = (0x12) # type: ignore NV0080_CTRL_CMD_DMA_SET_PAGE_DIRECTORY = (0x801813) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_PARAMS_MESSAGE_ID = (0x13) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_APERTURE = (1, 0) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_APERTURE_VIDMEM = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_APERTURE_SYSMEM_COH = (0x00000001) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_APERTURE_SYSMEM_NONCOH = (0x00000002) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_PRESERVE_PDES = (2, 2) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_PRESERVE_PDES_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_PRESERVE_PDES_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_ALL_CHANNELS = (3, 3) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_ALL_CHANNELS_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_ALL_CHANNELS_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_IGNORE_CHANNEL_BUSY = (4, 4) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_IGNORE_CHANNEL_BUSY_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_IGNORE_CHANNEL_BUSY_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_EXTEND_VASPACE = (5, 5) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_EXTEND_VASPACE_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_EXTEND_VASPACE_TRUE = (0x00000001) # type: ignore NV0080_CTRL_CMD_DMA_UNSET_PAGE_DIRECTORY = (0x801814) # type: ignore @@ -18454,6 +19404,7 @@ NV0080_CTRL_CMD_FIFO_GET_CAPS = (0x801701) # type: ignore NV0080_CTRL_FIFO_GET_CAPS_PARAMS_MESSAGE_ID = (0x1) # type: ignore NV0080_CTRL_FIFO_CAPS_TBL_SIZE = 2 # type: ignore NV0080_CTRL_CMD_FIFO_GET_ENGINE_CONTEXT_PROPERTIES = (0x801707) # type: ignore +NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_ENGINE_ID = (4, 0) # type: ignore NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_ENGINE_ID_GRAPHICS = (0x00000000) # type: ignore NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_ENGINE_ID_VLD = (0x00000001) # type: ignore NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_ENGINE_ID_VIDEO = (0x00000002) # type: ignore @@ -18801,12 +19752,15 @@ NV2080_CTRL_CMD_BIOS_GET_POST_TIME = (0x20800809) # type: ignore NV2080_CTRL_CMD_BIOS_GET_POST_TIME_PARAMS_MESSAGE_ID = (0x9) # type: ignore NV2080_CTRL_CMD_BIOS_GET_UEFI_SUPPORT = (0x2080080b) # type: ignore NV2080_CTRL_BIOS_GET_UEFI_SUPPORT_PARAMS_MESSAGE_ID = (0xB) # type: ignore +NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE = (1, 0) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE_NO = (0x00000000) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE_YES = (0x00000001) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE_PLACEHOLDER = (0x00000002) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE_HIDDEN = (0x00000003) # type: ignore +NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_RUNNING = (2, 2) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_RUNNING_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_RUNNING_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_IS_EFI_INIT = (3, 3) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_IS_EFI_INIT_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_IS_EFI_INIT_TRUE = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCI_INFO = (0x20801801) # type: ignore @@ -18871,45 +19825,55 @@ NV2080_CTRL_BUS_INFO_TYPE_FPCI = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_TYPE_AXI = (0x00000008) # type: ignore NV2080_CTRL_BUS_INFO_CAPS_NEED_IO_FLUSH = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_CAPS_CHIP_INTEGRATED = (0x00000002) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED = (3, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_2500MBPS = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_5000MBPS = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_8000MBPS = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_16000MBPS = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_32000MBPS = (0x00000005) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_64000MBPS = (0x00000006) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_WIDTH = (9, 4) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_ASPM = (11, 10) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_ASPM_NONE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_ASPM_L0S = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_ASPM_L0S_L1 = (0x00000003) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN = (15, 12) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN1 = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN2 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN3 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN4 = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN5 = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN6 = (0x00000005) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL = (19, 16) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN1 = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN2 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN3 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN4 = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN5 = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN6 = (0x00000005) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN = (23, 20) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN1 = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN2 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN3 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN4 = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN5 = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN6 = (0x00000005) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_SPEED_CHANGES = (24, 24) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_SPEED_CHANGES_ENABLED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_SPEED_CHANGES_DISABLED = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM = (1, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM_DISABLED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM_L0S = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM_L1 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM_L0S_L1 = (0x00000003) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED = (19, 16) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_2500MBPS = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_5000MBPS = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_8000MBPS = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_16000MBPS = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_32000MBPS = (0x00000005) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_64000MBPS = (0x00000006) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH = (25, 20) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_UNDEFINED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X1 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X2 = (0x00000002) # type: ignore @@ -18918,18 +19882,25 @@ NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X8 = (0x00000008) # type: NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X12 = (0x0000000C) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X16 = (0x00000010) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X32 = (0x00000020) # type: ignore +NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_CTXDMA = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_CTXDMA_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_CTXDMA_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_GPUGART = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_GPUGART_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_GPUGART_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_CTXDMA = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_CTXDMA_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_CTXDMA_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_GPUGART = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_GPUGART_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_GPUGART_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_COH_MODE = (3, 3) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_COH_MODE_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_COH_MODE_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_REQFLUSH = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_REQFLUSH_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_REQFLUSH_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_UNIFIED = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_UNIFIED_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_UNIFIED_TRUE = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_CORR_ERROR = (0x00000001) # type: ignore @@ -18937,8 +19908,10 @@ NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_NON_FATAL_ERROR = (0x00000002) # type: ign NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_FATAL_ERROR = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_UNSUPP_REQUEST = (0x00000008) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_ENTERED_RECOVERY = (0x00000010) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CAP = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CAP_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CAP_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CURR_LEVEL = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CURR_LEVEL_GEN1 = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CURR_LEVEL_GEN2 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_UNCORR_TRAINING_ERR = (0x00000001) # type: ignore @@ -18958,42 +19931,68 @@ NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_CORR_BAD_DLLP = (0x00040000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_CORR_RPLY_ROLLOVER = (0x00080000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_CORR_RPLY_TIMEOUT = (0x00100000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_CORR_ADVISORY_NONFATAL = (0x00200000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_PCIE = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_PCIE_ERROR = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_PCIE_PRESENT = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_SUPPORTED = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_SUPPORTED_NO = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_SUPPORTED_YES = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_CL_CAPABLE = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_CL_CAPABLE_NO = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_CL_CAPABLE_YES = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_OS_SUPPORTED = (3, 3) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_OS_SUPPORTED_NO = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_OS_SUPPORTED_YES = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_BR04 = (4, 4) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_BR04_MISSING = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_BR04_PRESENT = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_VALID = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_VALID_NO = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_VALID_YES = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM = (2, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_DISABLED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_L0S = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_L1 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_L0S_L1 = (0x00000003) # type: ignore +NV2080_CTRL_BUS_INFO_MSI_STATUS = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_MSI_STATUS_DISABLED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_MSI_STATUS_ENABLED = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_2_SUPPORTED = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_2_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_2_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_1_SUPPORTED = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_1_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_1_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_2_SUPPORTED = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_2_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_2_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_1_SUPPORTED = (3, 3) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_1_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_1_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_L1PM_SUPPORTED = (4, 4) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_L1PM_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_L1PM_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_RESERVED = (7, 5) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PORT_RESTORE_TIME = (15, 8) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_T_POWER_ON_SCALE = (17, 16) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_T_POWER_ON_VALUE = (23, 19) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_2_ENABLED = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_2_ENABLED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_2_ENABLED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_1_ENABLED = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_1_ENABLED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_1_ENABLED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_2_ENABLED = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_2_ENABLED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_2_ENABLED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_1_ENABLED = (3, 3) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_1_ENABLED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_1_ENABLED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_COMMON_MODE_RESTORE_TIME = (15, 8) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_LTR_L1_2_THRESHOLD_VALUE = (25, 16) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_LTR_L1_2_THRESHOLD_SCALE = (31, 29) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL2_T_POWER_ON_SCALE = (1, 0) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL2_T_POWER_ON_VALUE = (7, 3) # type: ignore NV2080_CTRL_BUS_INFO_INDEX_SYSMEM_CONNECTION_TYPE_PCIE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_INDEX_SYSMEM_CONNECTION_TYPE_NVLINK = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_INDEX_SYSMEM_CONNECTION_TYPE_C2C = (0x00000002) # type: ignore @@ -19127,18 +20126,25 @@ NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS_MESSAGE_ID = (0x29) # type: NV2080_CTRL_CMD_BUS_PCIE_ATOMICS_CAPTYPE_SYSMEM = 0x0 # type: ignore NV2080_CTRL_CMD_BUS_PCIE_ATOMICS_CAPTYPE_GPU = 0x1 # type: ignore NV2080_CTRL_CMD_BUS_PCIE_ATOMICS_CAPTYPE_P2P = 0x2 # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_32 = (0, 0) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_64 = (1, 1) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_32 = (2, 2) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_64 = (3, 3) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_32 = (4, 4) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_64 = (5, 5) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_128 = (6, 6) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_128_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_128_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS = (0x2080182a) # type: ignore @@ -19157,20 +20163,28 @@ NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_OP_TYPE_FMIN = 11 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_OP_TYPE_FMAX = 12 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_OP_TYPE_COUNT = 13 # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS_MESSAGE_ID = (0x2A) # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SCALAR = (0, 0) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SCALAR_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SCALAR_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_VECTOR = (1, 1) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_VECTOR_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_VECTOR_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_REDUCTION = (2, 2) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_REDUCTION_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_REDUCTION_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_32 = (3, 3) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_32_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_32_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_64 = (4, 4) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_64_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_64_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_128 = (5, 5) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_128_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_128_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIGNED = (6, 6) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIGNED_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIGNED_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_UNSIGNED = (7, 7) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_UNSIGNED_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_UNSIGNED_NO = 0 # type: ignore NV2080_CTRL_CMD_BUS_GET_C2C_INFO = (0x2080182b) # type: ignore @@ -19191,18 +20205,25 @@ NV2080_CTRL_CMD_BUS_UNSET_P2P_MAPPING = (0x2080182f) # type: ignore NV2080_CTRL_BUS_UNSET_P2P_MAPPING_PARAMS_MESSAGE_ID = (0x2F) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS = (0x20801830) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_PARAMS_MESSAGE_ID = (0x30) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_32 = (0, 0) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_64 = (1, 1) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_32 = (2, 2) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_64 = (3, 3) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_32 = (4, 4) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_64 = (5, 5) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_128 = (6, 6) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_128_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_128_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_CE_GET_CAPS = (0x20802a01) # type: ignore @@ -19247,28 +20268,40 @@ NV2080_CTRL_CMD_CE_IS_DECOMP_LCE_ENABLED = (0x20802a12) # type: ignore NV2080_CTRL_CE_IS_DECOMP_LCE_ENABLED_PARAMS_MESSAGE_ID = (0x12) # type: ignore NV2080_CTRL_CMD_DMA_INVALIDATE_TLB = (0x20802502) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_PARAMS_MESSAGE_ID = (0x2) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_GRAPHICS = (0, 0) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_GRAPHICS_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_GRAPHICS_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VIDEO = (1, 1) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VIDEO_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VIDEO_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_DISPLAY = (2, 2) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_DISPLAY_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_DISPLAY_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_CAPTURE = (3, 3) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_CAPTURE_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_CAPTURE_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_IFB = (4, 4) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_IFB_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_IFB_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MV = (5, 5) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MV_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MV_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MPEG = (6, 6) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MPEG_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MPEG_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VLD = (7, 7) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VLD_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VLD_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_ENCRYPTION = (8, 8) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_ENCRYPTION_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_ENCRYPTION_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_PERFMON = (9, 9) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_PERFMON_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_PERFMON_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_POSTPROCESS = (10, 10) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_POSTPROCESS_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_POSTPROCESS_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_BAR = (11, 11) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_BAR_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_BAR_TRUE = (0x00000001) # type: ignore NV2080_CTRL_DMA_INFO_INDEX_SYSTEM_ADDRESS_SIZE = (0x000000000) # type: ignore @@ -19430,24 +20463,32 @@ NV2080_CTRL_CMD_FB_GET_CAL_FLAG_NONE = (0x00000000) # type: ignore NV2080_CTRL_CMD_FB_GET_CAL_FLAG_RESET = (0x00000001) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL = (0x2080130d) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_PARAMS_MESSAGE_ID = (0xD) # type: ignore +NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_WRITE_BACK = (0, 0) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_WRITE_BACK_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_WRITE_BACK_YES = (0x00000001) # type: ignore +NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_INVALIDATE = (1, 1) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_INVALIDATE_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_INVALIDATE_YES = (0x00000001) # type: ignore +NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_FB_FLUSH = (2, 2) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_FB_FLUSH_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_FB_FLUSH_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE = (0x2080130e) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_MAX_ADDRESSES = 500 # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_PARAMS_MESSAGE_ID = (0xE) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_APERTURE = (1, 0) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_APERTURE_VIDEO_MEMORY = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_APERTURE_SYSTEM_MEMORY = (0x00000001) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_APERTURE_PEER_MEMORY = (0x00000002) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_WRITE_BACK = (2, 2) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_WRITE_BACK_NO = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_WRITE_BACK_YES = (0x00000001) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_INVALIDATE = (3, 3) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_INVALIDATE_NO = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_INVALIDATE_YES = (0x00000001) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FLUSH_MODE = (4, 4) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FLUSH_MODE_ADDRESS_ARRAY = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FLUSH_MODE_FULL_CACHE = (0x00000001) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FB_FLUSH = (5, 5) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FB_FLUSH_NO = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FB_FLUSH_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_FB_IS_KIND = (0x20801313) # type: ignore @@ -19494,8 +20535,10 @@ NV2080_CTRL_FB_OFFLINED_PAGES_SOURCE_MULTIPLE_SBE = NV2080_CTRL_FB_OFFLINED_PAGE NV2080_CTRL_FB_OFFLINED_PAGES_SOURCE_DBE = NV2080_CTRL_FB_OFFLINED_PAGES_SOURCE_DPR_DBE # type: ignore NV2080_CTRL_FB_OFFLINE_PAGES_PARAMS_MESSAGE_ID = (0x21) # type: ignore NV2080_CTRL_CMD_FB_GET_OFFLINED_PAGES = (0x20801322) # type: ignore +NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_SBE = (0, 0) # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_SBE_FALSE = 0 # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_SBE_TRUE = 1 # type: ignore +NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_DBE = (1, 1) # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_DBE_FALSE = 0 # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_DBE_TRUE = 1 # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS_MESSAGE_ID = (0x22) # type: ignore @@ -19547,14 +20590,17 @@ NV2080_CTRL_FB_GET_MEM_ALIGNMENT_MAX_BANKS = (4) # type: ignore NV2080_CTRL_FB_GET_MEM_ALIGNMENT_PARAMS_MESSAGE_ID = (0x42) # type: ignore NV2080_CTRL_CMD_FB_GET_CBC_BASE_ADDR = (0x20801343) # type: ignore NV2080_CTRL_CMD_FB_GET_CBC_BASE_ADDR_PARAMS_MESSAGE_ID = (0x43) # type: ignore +NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING = (0, 0) # type: ignore NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING_FALSE = 0 # type: ignore NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING_TRUE = 1 # type: ignore NV2080_CTRL_FB_REMAPPED_ROW_SOURCE_SBE_FIELD = (0x00000002) # type: ignore NV2080_CTRL_FB_REMAPPED_ROW_SOURCE_DBE_FIELD = (0x00000003) # type: ignore NV2080_CTRL_FB_REMAPPED_ROWS_MAX_ROWS = (0x00000200) # type: ignore NV2080_CTRL_CMD_FB_GET_REMAPPED_ROWS = (0x20801344) # type: ignore +NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_PENDING = NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_PENDING_FALSE = NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING_FALSE # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_PENDING_TRUE = NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING_TRUE # type: ignore +NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_FAILURE = (1, 1) # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_FAILURE_FALSE = 0 # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_FAILURE_TRUE = 1 # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_PARAMS_MESSAGE_ID = (0x44) # type: ignore @@ -19594,10 +20640,13 @@ NV2080_CTRL_FB_GET_DYNAMIC_OFFLINED_PAGES_PARAMS_MESSAGE_ID = (0x48) # type: ign NV2080_CTRL_FB_DYNAMIC_BLACKLISTED_PAGES_SOURCE_INVALID = (0x00000000) # type: ignore NV2080_CTRL_FB_DYNAMIC_BLACKLISTED_PAGES_SOURCE_DPR_DBE = (0x00000001) # type: ignore NV2080_CTRL_CMD_FB_GET_CLIENT_ALLOCATION_INFO = (0x20801349) # type: ignore +NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_TYPE = (4, 0) # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_TYPE_SYSMEM = 0 # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_TYPE_VIDMEM = 1 # type: ignore +NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_SHARED = (5, 5) # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_SHARED_FALSE = 0 # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_SHARED_TRUE = 1 # type: ignore +NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_OWNER = (6, 6) # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_OWNER_FALSE = 0 # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_OWNER_TRUE = 1 # type: ignore NV2080_CTRL_CMD_FB_GET_CLIENT_ALLOCATION_INFO_PARAMS_MESSAGE_ID = (0x49) # type: ignore @@ -19646,6 +20695,7 @@ NV2080_CTRL_FIFO_BIND_ENGINES_PARAMS_MESSAGE_ID = (0x3) # type: ignore NV2080_CTRL_CMD_FIFO_BIND_ENGINES = (0x20801103) # type: ignore NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES = (0x20801104) # type: ignore NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES_PARAMS_MESSAGE_ID = (0x4) # type: ignore +NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES_FLAGS_ERROR_ON_STUCK_SEMAPHORE = (0, 0) # type: ignore NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES_FLAGS_ERROR_ON_STUCK_SEMAPHORE_FALSE = (0x00000000) # type: ignore NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES_FLAGS_ERROR_ON_STUCK_SEMAPHORE_TRUE = (0x00000001) # type: ignore NV2080_CTRL_CMD_FIFO_GET_PHYSICAL_CHANNEL_COUNT = (0x20801108) # type: ignore @@ -19718,6 +20768,7 @@ NV2080_CTRL_CMD_FIFO_RUNLIST_SET_SCHED_POLICY = (0x20801115) # type: ignore NV2080_CTRL_FIFO_RUNLIST_SCHED_POLICY_DEFAULT = 0x0 # type: ignore NV2080_CTRL_FIFO_RUNLIST_SCHED_POLICY_CHANNEL_INTERLEAVED = 0x1 # type: ignore NV2080_CTRL_FIFO_RUNLIST_SCHED_POLICY_CHANNEL_INTERLEAVED_WDDM = 0x2 # type: ignore +NV2080_CTRL_CMD_FIFO_RUNLIST_SET_SCHED_POLICY_FLAGS_RESTORE = (0, 0) # type: ignore NV2080_CTRL_CMD_FIFO_RUNLIST_SET_SCHED_POLICY_FLAGS_RESTORE_FALSE = (0x00000000) # type: ignore NV2080_CTRL_CMD_FIFO_RUNLIST_SET_SCHED_POLICY_FLAGS_RESTORE_TRUE = (0x00000001) # type: ignore NV2080_CTRL_FIFO_RUNLIST_SET_SCHED_POLICY_PARAMS_MESSAGE_ID = (0x15) # type: ignore @@ -19786,31 +20837,58 @@ NV2080_CTRL_FLCN_GET_ENGINE_ARCH_DEFAULT = 0x0 # type: ignore NV2080_CTRL_FLCN_GET_ENGINE_ARCH_FALCON = 0x1 # type: ignore NV2080_CTRL_FLCN_GET_ENGINE_ARCH_RISCV = 0x2 # type: ignore NV2080_CTRL_FLCN_GET_ENGINE_ARCH_RISCV_EB = 0x3 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_COMM_FLAG = (31, 31) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_COMM_HEAD = (30, 30) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_VARIABLE = (29, 29) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EXTEND = (28, 28) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EVENTID_DRF_EXTENT = (27) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EVENTID_DRF_BASE = (20) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EVENTIDCOMPACT_DRF_EXTENT = (28) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EVENTIDCOMPACT_DRF_BASE = (24) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_LENGTH = (19, 8) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOAD = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT = (23, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_HEAD_TIME = (29, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_DATA_PAYLOAD = (30, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_TASK_ID = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON = (10, 8) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_YIELD = 0x0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_INT0 = 0x1 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_TIMER_TICK = 0x2 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_QUEUE_BLOCK = 0x3 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_DMA_SUSPENDED = 0x4 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_ODP_MISS_COUNT = (23, 11) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TIMER_TICK_TIME_SLIP = (23, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_BEGIN_TASK_ID = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_BEGIN_UNIT_ID = (15, 8) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_BEGIN_EVENT_TYPE = (23, 16) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_TASK_ID = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_CALLBACK_ID = (15, 8) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_RPC_FUNC = (15, 8) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_RPC_FUNC_BOBJ_CMD_BASE = 0xF0 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_CLASS_ID = (23, 16) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_RM_QUEUE_LATENCY_SHIFT = 10 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_SPECIAL_EVENT_TASK_ID = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_SPECIAL_EVENT_ID = (23, 8) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_SPECIAL_EVENT_ID_RESERVED = 0x000000 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_SPECIAL_EVENT_ID_CB_ENQUEUE_FAIL = 0x000001 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_LATENCY_SHIFT = 6 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_GENERIC_ID = (11, 0) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_GENERIC_ID_INVALID = 0x000 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_GENERIC_ID_VF_SWITCH_TOTAL = 0x001 # type: ignore NV2080_CTRL_FLCN_USTREAMER_FEATURE_DEFAULT = 0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_FEATURE_PMUMON = 1 # type: ignore NV2080_CTRL_FLCN_USTREAMER_FEATURE__COUNT = 2 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IDLE_FLUSH = (0, 0) # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IDLE_FLUSH_DISABLED = 0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IDLE_FLUSH_ENABLED = 1 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_FULL_FLUSH = (1, 1) # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_FULL_FLUSH_DISABLED = 0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_FULL_FLUSH_ENABLED = 1 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IMMEDIATE_FLUSH = (2, 2) # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IMMEDIATE_FLUSH_DISABLED = 0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IMMEDIATE_FLUSH_ENABLED = 1 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IDLE_THRESHOLD = (31, 8) # type: ignore NV2080_CTRL_FLCN_USTREAMER_NUM_EVT_TYPES_COMPACT = (0x20) # type: ignore NV2080_CTRL_FLCN_USTREAMER_NUM_EVT_TYPES = (0x120) # type: ignore NV2080_CTRL_FLCN_USTREAMER_MASK_SIZE_BYTES = (0x24) # type: ignore @@ -19843,6 +20921,7 @@ NV_GRID_LICENSED_PRODUCT_GAMING = "NVIDIA Cloud Gaming" # type: ignore NV_GRID_LICENSED_PRODUCT_VPC = "NVIDIA Virtual PC" # type: ignore NV_GRID_LICENSED_PRODUCT_VAPPS = "NVIDIA Virtual Applications" # type: ignore NV_GRID_LICENSED_PRODUCT_COMPUTE = "NVIDIA Virtual Compute Server" # type: ignore +NV2080_CTRL_GPU_INFO_INDEX_INDEX = (23, 0) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_ECID_LO32 = (0x00000001) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_ECID_HI32 = (0x00000002) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_MINOR_REVISION_EXT = (0x00000004) # type: ignore @@ -19873,6 +20952,8 @@ NV2080_CTRL_GPU_INFO_INDEX_CMP_SKU = (0x0000003c) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_DMABUF_CAPABILITY = (0x0000003d) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_IS_RESETLESS_MIG_SUPPORTED = (0x0000003f) # type: ignore NV2080_CTRL_GPU_INFO_MAX_LIST_SIZE = (0x00000041) # type: ignore +NV2080_CTRL_GPU_INFO_INDEX_GROUP_ID = (30, 24) # type: ignore +NV2080_CTRL_GPU_INFO_INDEX_RESERVED = (31, 31) # type: ignore NV2080_CTRL_GPU_INFO_MINOR_REVISION_EXT_NONE = (0x00000000) # type: ignore NV2080_CTRL_GPU_INFO_MINOR_REVISION_EXT_P = (0x00000001) # type: ignore NV2080_CTRL_GPU_INFO_MINOR_REVISION_EXT_V = (0x00000002) # type: ignore @@ -19917,6 +20998,7 @@ NV2080_CTRL_GPU_INFO_INDEX_GPU_DEBUGGING_CAPABILITY_DISABLED = (0x00000000) # ty NV2080_CTRL_GPU_INFO_INDEX_GPU_DEBUGGING_CAPABILITY_ENABLED = (0x00000001) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_GPU_LOCAL_EGM_CAPABILITY_NO = (0x00000000) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_GPU_LOCAL_EGM_CAPABILITY_YES = (0x00000001) # type: ignore +NV2080_CTRL_GPU_INFO_INDEX_GPU_LOCAL_EGM_PEERID = (31, 1) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_GPU_SELF_HOSTED_CAPABILITY_NO = (0x00000000) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_GPU_SELF_HOSTED_CAPABILITY_YES = (0x00000001) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_CMP_SKU_NO = (0x00000000) # type: ignore @@ -19931,6 +21013,7 @@ NV2080_CTRL_CMD_GPU_GET_INFO_V2 = (0x20800102) # type: ignore NV2080_CTRL_GPU_GET_INFO_V2_PARAMS_MESSAGE_ID = (0x2) # type: ignore NV2080_CTRL_CMD_GPU_GET_NAME_STRING = (0x20800110) # type: ignore NV2080_GPU_MAX_NAME_STRING_LENGTH = (0x0000040) # type: ignore +NV2080_CTRL_GPU_GET_NAME_STRING_FLAGS_TYPE = (31, 0) # type: ignore NV2080_CTRL_GPU_GET_NAME_STRING_FLAGS_TYPE_ASCII = (0x00000000) # type: ignore NV2080_CTRL_GPU_GET_NAME_STRING_FLAGS_TYPE_UNICODE = (0x00000001) # type: ignore NV2080_CTRL_GPU_GET_NAME_STRING_PARAMS_MESSAGE_ID = (0x10) # type: ignore @@ -20019,17 +21102,21 @@ NV2080_CTRL_CMD_GPU_EVICT_CTX = (0x2080012c) # type: ignore NV2080_CTRL_GPU_EVICT_CTX_PARAMS_MESSAGE_ID = (0x2C) # type: ignore NV2080_CTRL_CMD_GPU_INITIALIZE_CTX = (0x2080012d) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_PARAMS_MESSAGE_ID = (0x2D) # type: ignore +NV2080_CTRL_GPU_INITIALIZE_CTX_APERTURE = (1, 0) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_APERTURE_VIDMEM = (0x00000000) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_APERTURE_COH_SYS = (0x00000001) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_APERTURE_NCOH_SYS = (0x00000002) # type: ignore +NV2080_CTRL_GPU_INITIALIZE_CTX_GPU_CACHEABLE = (2, 2) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_GPU_CACHEABLE_YES = (0x00000000) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_GPU_CACHEABLE_NO = (0x00000001) # type: ignore +NV2080_CTRL_GPU_INITIALIZE_CTX_PRESERVE_CTX = (3, 3) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_PRESERVE_CTX_NO = (0x00000000) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_PRESERVE_CTX_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_GPU_QUERY_ECC_INTR = (0x2080012e) # type: ignore NV2080_CTRL_CMD_GPU_QUERY_ECC_STATUS = (0x2080012f) # type: ignore NV2080_CTRL_GPU_ECC_UNIT_GSP = (0x0000001D) # type: ignore NV2080_CTRL_GPU_ECC_UNIT_COUNT = (0x00000024) # type: ignore +NV2080_CTRL_GPU_QUERY_ECC_STATUS_FLAGS_TYPE = (0, 0) # type: ignore NV2080_CTRL_GPU_QUERY_ECC_STATUS_FLAGS_TYPE_FILTERED = (0x00000000) # type: ignore NV2080_CTRL_GPU_QUERY_ECC_STATUS_FLAGS_TYPE_RAW = (0x00000001) # type: ignore NV2080_CTRL_GPU_QUERY_ECC_STATUS_UNC_ERR_FALSE = 0 # type: ignore @@ -20056,6 +21143,7 @@ NV2080_CTRL_CMD_GPU_RESET_ECC_ERROR_STATUS = (0x20800136) # type: ignore NV2080_CTRL_GPU_ECC_ERROR_STATUS_NONE = (0x00000000) # type: ignore NV2080_CTRL_GPU_ECC_ERROR_STATUS_VOLATILE = (0x00000001) # type: ignore NV2080_CTRL_GPU_ECC_ERROR_STATUS_AGGREGATE = (0x00000002) # type: ignore +NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_FLAGS_FORCE_PURGE = (0, 0) # type: ignore NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_FLAGS_FORCE_PURGE_FALSE = 0 # type: ignore NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_FLAGS_FORCE_PURGE_TRUE = 1 # type: ignore NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_PARAMS_MESSAGE_ID = (0x36) # type: ignore @@ -20087,8 +21175,10 @@ NV2080_CTRL_CMD_GPU_GET_GID_INFO = (0x2080014a) # type: ignore NV2080_GPU_MAX_GID_LENGTH = (0x000000100) # type: ignore NV2080_GPU_MAX_SHA1_BINARY_GID_LENGTH = (0x000000010) # type: ignore NV2080_CTRL_GPU_GET_GID_INFO_PARAMS_MESSAGE_ID = (0x4A) # type: ignore +NV2080_GPU_CMD_GPU_GET_GID_FLAGS_FORMAT = (1, 0) # type: ignore NV2080_GPU_CMD_GPU_GET_GID_FLAGS_FORMAT_ASCII = (0x00000000) # type: ignore NV2080_GPU_CMD_GPU_GET_GID_FLAGS_FORMAT_BINARY = (0x00000002) # type: ignore +NV2080_GPU_CMD_GPU_GET_GID_FLAGS_TYPE = (2, 2) # type: ignore NV2080_GPU_CMD_GPU_GET_GID_FLAGS_TYPE_SHA1 = (0x00000000) # type: ignore NV2080_CTRL_CMD_GPU_GET_INFOROM_OBJECT_VERSION = (0x2080014b) # type: ignore NV2080_CTRL_GPU_INFOROM_OBJ_TYPE_LEN = 3 # type: ignore @@ -20154,11 +21244,13 @@ NV2080_CTRL_GPU_MAX_PARTITION_IDS = 0x00000009 # type: ignore NV2080_CTRL_GPU_MAX_SMC_IDS = 0x00000008 # type: ignore NV2080_CTRL_GPU_MAX_GPC_PER_SMC = 0x0000000c # type: ignore NV2080_CTRL_GPU_MAX_CE_PER_SMC = 0x00000008 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE = (1, 0) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE_FULL = 0x00000000 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE_HALF = 0x00000001 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE_QUARTER = 0x00000002 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE_EIGHTH = 0x00000003 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE__SIZE = 4 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE = (4, 2) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_FULL = 0x00000000 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_HALF = 0x00000001 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_MINI_HALF = 0x00000002 # type: ignore @@ -20168,6 +21260,7 @@ NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_EIGHTH = 0x00000005 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_RESERVED_INTERNAL_06 = 0x00000006 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_RESERVED_INTERNAL_07 = 0x00000007 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE__SIZE = 8 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE = (7, 5) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_FULL = 0x00000001 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_HALF = 0x00000002 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_MINI_HALF = 0x00000003 # type: ignore @@ -20178,8 +21271,10 @@ NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_RESERVED_INTERNAL_07 = 0x00000007 # type NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_NONE = 0x00000000 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE__SIZE = 8 # type: ignore NV2080_CTRL_GPU_PARTITION_MAX_TYPES = 40 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_REQ_DEC_JPG_OFA = (30, 30) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_REQ_DEC_JPG_OFA_DISABLE = 0 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_REQ_DEC_JPG_OFA_ENABLE = 1 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_PLACE_AT_SPAN = (31, 31) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_PLACE_AT_SPAN_DISABLE = 0 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_PLACE_AT_SPAN_ENABLE = 1 # type: ignore NV2080_CTRL_GPU_SET_PARTITIONS_PARAMS_MESSAGE_ID = (0x74) # type: ignore @@ -20227,6 +21322,7 @@ NV2080_CTRL_GPU_GET_PARTITION_CAPACITY_PARAMS_MESSAGE_ID = (0x81) # type: ignore NV2080_CTRL_CMD_GPU_GET_CACHED_INFO = (0x20800182) # type: ignore NV2080_CTRL_GPU_GET_CACHED_INFO_PARAMS_MESSAGE_ID = (0x82) # type: ignore NV2080_CTRL_CMD_GPU_SET_PARTITIONING_MODE = (0x20800183) # type: ignore +NV2080_CTRL_GPU_SET_PARTITIONING_MODE_REPARTITIONING = (1, 0) # type: ignore NV2080_CTRL_GPU_SET_PARTITIONING_MODE_REPARTITIONING_LEGACY = 0 # type: ignore NV2080_CTRL_GPU_SET_PARTITIONING_MODE_REPARTITIONING_MAX_PERF = 1 # type: ignore NV2080_CTRL_GPU_SET_PARTITIONING_MODE_REPARTITIONING_FAST_RECONFIG = 2 # type: ignore @@ -20288,15 +21384,19 @@ NV2080_CTRL_GPU_FABRIC_PROBE_STATE_NOT_STARTED = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_PROBE_STATE_IN_PROGRESS = 2 # type: ignore NV2080_CTRL_GPU_FABRIC_PROBE_STATE_COMPLETE = 3 # type: ignore NV2080_GPU_FABRIC_CLUSTER_UUID_LEN = 16 # type: ignore +NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW = (1, 0) # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_NOT_SUPPORTED = 0 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_TRUE = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_FALSE = 2 # type: ignore +NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ROUTE_UPDATE = (3, 2) # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ROUTE_UPDATE_NOT_SUPPORTED = 0 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ROUTE_UPDATE_TRUE = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ROUTE_UPDATE_FALSE = 2 # type: ignore +NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_CONNECTION_UNHEALTHY = (5, 4) # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_CONNECTION_UNHEALTHY_NOT_SUPPORTED = 0 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_CONNECTION_UNHEALTHY_TRUE = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_CONNECTION_UNHEALTHY_FALSE = 2 # type: ignore +NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY = (7, 6) # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_NOT_SUPPORTED = 0 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_TRUE = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_FALSE = 2 # type: ignore @@ -20347,9 +21447,12 @@ NV2080_CTRL_GPU_GET_TPC_RECONFIG_MASK_PARAMS_MESSAGE_ID = (0xe7) # type: ignore NV2080_CTRL_GPUMON_SAMPLE_TYPE_PWR_MONITOR_STATUS = 0x00000001 # type: ignore NV2080_CTRL_GPUMON_SAMPLE_TYPE_PERFMON_UTIL = 0x00000002 # type: ignore NV2080_GPUMON_PID_INVALID = ((NvU32)(~0)) # type: ignore +NV2080_CTRL_GR_ROUTE_INFO_FLAGS_TYPE = (1, 0) # type: ignore NV2080_CTRL_GR_ROUTE_INFO_FLAGS_TYPE_NONE = 0x0 # type: ignore NV2080_CTRL_GR_ROUTE_INFO_FLAGS_TYPE_ENGID = 0x1 # type: ignore NV2080_CTRL_GR_ROUTE_INFO_FLAGS_TYPE_CHANNEL = 0x2 # type: ignore +NV2080_CTRL_GR_ROUTE_INFO_DATA_CHANNEL_HANDLE = (31, 0) # type: ignore +NV2080_CTRL_GR_ROUTE_INFO_DATA_ENGID = (31, 0) # type: ignore NV2080_CTRL_GR_INFO_INDEX_MAXCLIPS = NV0080_CTRL_GR_INFO_INDEX_MAXCLIPS # type: ignore NV2080_CTRL_GR_INFO_INDEX_MIN_ATTRS_BUG_261894 = NV0080_CTRL_GR_INFO_INDEX_MIN_ATTRS_BUG_261894 # type: ignore NV2080_CTRL_GR_INFO_XBUF_MAX_PSETS_PER_BANK = NV0080_CTRL_GR_INFO_XBUF_MAX_PSETS_PER_BANK # type: ignore @@ -20464,12 +21567,16 @@ NV2080_CTRL_GR_INFO_SM_VERSION_9_0 = (NV2080_CTRL_GR_INFO_SM_VERSION_9_00) # typ NV2080_CTRL_GR_INFO_SM_VERSION_10_0 = (NV2080_CTRL_GR_INFO_SM_VERSION_10_00) # type: ignore NV2080_CTRL_GR_INFO_SM_VERSION_10_1 = (NV2080_CTRL_GR_INFO_SM_VERSION_10_01) # type: ignore NV2080_CTRL_GR_INFO_SM_VERSION_10_4 = (NV2080_CTRL_GR_INFO_SM_VERSION_10_04) # type: ignore +NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_2D = (0, 0) # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_2D_FALSE = 0x0 # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_2D_TRUE = 0x1 # type: ignore +NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_3D = (1, 1) # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_3D_FALSE = 0x0 # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_3D_TRUE = 0x1 # type: ignore +NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_COMPUTE = (2, 2) # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_COMPUTE_FALSE = 0x0 # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_COMPUTE_TRUE = 0x1 # type: ignore +NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_I2M = (3, 3) # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_I2M_FALSE = 0x0 # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_I2M_TRUE = 0x1 # type: ignore NV2080_CTRL_CMD_GR_GET_INFO = (0x20801201) # type: ignore @@ -20504,8 +21611,10 @@ NV2080_CTRL_GR_GET_SM_TO_GPC_TPC_MAPPINGS_MAX_SM_COUNT = 240 # type: ignore NV2080_CTRL_GR_GET_SM_TO_GPC_TPC_MAPPINGS_PARAMS_MESSAGE_ID = (0xF) # type: ignore NV2080_CTRL_CMD_GR_SET_CTXSW_PREEMPTION_MODE = (0x20801210) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_PARAMS_MESSAGE_ID = (0x10) # type: ignore +NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_CILP = (0, 0) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_CILP_IGNORE = (0x00000000) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_CILP_SET = (0x00000001) # type: ignore +NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_GFXP = (1, 1) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_GFXP_IGNORE = (0x00000000) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_GFXP_SET = (0x00000001) # type: ignore NV2080_CTRL_SET_CTXSW_PREEMPTION_MODE_GFX_WFI = (0x00000000) # type: ignore @@ -20524,6 +21633,7 @@ NV2080_CTRL_CMD_GR_GET_ROP_INFO = (0x20801213) # type: ignore NV2080_CTRL_GR_GET_ROP_INFO_PARAMS_MESSAGE_ID = (0x13) # type: ignore NV2080_CTRL_CMD_GR_GET_CTXSW_STATS = (0x20801215) # type: ignore NV2080_CTRL_GR_GET_CTXSW_STATS_PARAMS_MESSAGE_ID = (0x15) # type: ignore +NV2080_CTRL_GR_GET_CTXSW_STATS_FLAGS_RESET = (0, 0) # type: ignore NV2080_CTRL_GR_GET_CTXSW_STATS_FLAGS_RESET_FALSE = (0x00000000) # type: ignore NV2080_CTRL_GR_GET_CTXSW_STATS_FLAGS_RESET_TRUE = (0x00000001) # type: ignore NV2080_CTRL_CMD_GR_GET_CTX_BUFFER_SIZE = (0x20801218) # type: ignore @@ -20663,8 +21773,10 @@ NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_ROP_MASK = 10 # type: ignore NV2080_CTRL_CMD_GSP_GET_FEATURES = (0x20803601) # type: ignore NV2080_GSP_MAX_BUILD_VERSION_LENGTH = (0x0000040) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_PARAMS_MESSAGE_ID = (0x1) # type: ignore +NV2080_CTRL_GSP_GET_FEATURES_UVM_ENABLED = (0, 0) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_UVM_ENABLED_FALSE = (0x00000000) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_UVM_ENABLED_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_GSP_GET_FEATURES_VGPU_GSP_MIG_REFACTORING_ENABLED = (1, 1) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_VGPU_GSP_MIG_REFACTORING_ENABLED_FALSE = (0x00000000) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_VGPU_GSP_MIG_REFACTORING_ENABLED_TRUE = (0x00000001) # type: ignore NV2080_CTRL_CMD_GSP_GET_RM_HEAP_STATS = (0x20803602) # type: ignore @@ -21449,8 +22561,10 @@ NV2080_NOCAT_JOURNAL_REPORT_ACTIVITY_RES3_IDX = 29 # type: ignore NV2080_NOCAT_JOURNAL_REPORT_ACTIVITY_RES2_IDX = 30 # type: ignore NV2080_NOCAT_JOURNAL_REPORT_ACTIVITY_RES1_IDX = 31 # type: ignore NV2080_NOCAT_JOURNAL_REPORT_ACTIVITY_COUNTER_COUNT = (0x20) # type: ignore +NV2080_CTRL_NOCAT_GET_COUNTERS_ONLY = (0, 0) # type: ignore NV2080_CTRL_NOCAT_GET_COUNTERS_ONLY_YES = 1 # type: ignore NV2080_CTRL_NOCAT_GET_COUNTERS_ONLY_NO = 0 # type: ignore +NV2080_CTRL_NOCAT_GET_RESET_COUNTERS = (1, 1) # type: ignore NV2080_CTRL_NOCAT_GET_RESET_COUNTERS_YES = 1 # type: ignore NV2080_CTRL_NOCAT_GET_RESET_COUNTERS_NO = 0 # type: ignore NV2080_CTRL_NVD_GET_NOCAT_JOURNAL_PARAMS_MESSAGE_ID = (0x9) # type: ignore @@ -21467,12 +22581,15 @@ NV2080_CTRL_NOCAT_TDR_TYPE_GC6_RESET = 4 # type: ignore NV2080_CTRL_NOCAT_TDR_TYPE_SURPRISE_REMOVAL = 5 # type: ignore NV2080_CTRL_NOCAT_TDR_TYPE_UCODE_RESET = 6 # type: ignore NV2080_CTRL_NOCAT_TDR_TYPE_TEST = 7 # type: ignore +NV2080_CTRL_NOCAT_TAG_CLEAR = (0, 0) # type: ignore NV2080_CTRL_NOCAT_TAG_CLEAR_YES = 1 # type: ignore NV2080_CTRL_NOCAT_TAG_CLEAR_NO = 0 # type: ignore NV2080_CTRL_NVD_SET_NOCAT_JOURNAL_DATA_PARAMS_MESSAGE_ID = (0xB) # type: ignore NV2080_CTRL_CMD_NVD_INSERT_NOCAT_JOURNAL_RECORD = (0x2080240c) # type: ignore +NV2080_CTRL_NOCAT_INSERT_ALLOW_NULL_STR = (0, 0) # type: ignore NV2080_CTRL_NOCAT_INSERT_ALLOW_NULL_STR_YES = 1 # type: ignore NV2080_CTRL_NOCAT_INSERT_ALLOW_NULL_STR_NO = 0 # type: ignore +NV2080_CTRL_NOCAT_INSERT_ALLOW_0_LEN_BUFFER = (1, 1) # type: ignore NV2080_CTRL_NOCAT_INSERT_ALLOW_0_LEN_BUFFER_YES = 1 # type: ignore NV2080_CTRL_NOCAT_INSERT_ALLOW_0_LEN_BUFFER_NO = 0 # type: ignore NV2080_CTRL_CMD_NVD_INSERT_NOCAT_JOURNAL_RECORD_PARAMS_MESSAGE_ID = (0xC) # type: ignore @@ -21495,6 +22612,7 @@ NV2080_CTRL_NVLINK_CAPS_NCI_VERSION_3_1 = (0x00000006) # type: ignore NV2080_CTRL_NVLINK_CAPS_NCI_VERSION_4_0 = (0x00000007) # type: ignore NV2080_CTRL_NVLINK_CAPS_NCI_VERSION_5_0 = (0x00000008) # type: ignore NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS = (0x20803001) # type: ignore +NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_ID_FLAGS = (31, 0) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_ID_FLAGS_NONE = (0x00000000) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_ID_FLAGS_PCI = (0x00000001) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_ID_FLAGS_UUID = (0x00000002) # type: ignore @@ -21505,8 +22623,10 @@ NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_TYPE_SWITCH = (0x00000003) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_TYPE_TEGRA = (0x00000004) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_TYPE_NONE = (0x000000FF) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_UUID_INVALID = (0xFFFFFFFF) # type: ignore +NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_GPU_DEGRADED = (0, 0) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_GPU_DEGRADED_FALSE = (0x00000000) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_GPU_DEGRADED_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_UNCONTAINED_ERROR_RECOVERY = (1, 1) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_UNCONTAINED_ERROR_RECOVERY_INACTIVE = (0x00000000) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_UNCONTAINED_ERROR_RECOVERY_ACTIVE = (0x00000001) # type: ignore NV2080_CTRL_NVLINK_STATUS_LINK_STATE_INIT = (0x00000000) # type: ignore @@ -21783,22 +22903,35 @@ NV2080_CTRL_NVLINK_UNIT_TLC_TX_0 = 0x05 # type: ignore NV2080_CTRL_NVLINK_UNIT_MIF_RX_0 = 0x06 # type: ignore NV2080_CTRL_NVLINK_UNIT_MIF_TX_0 = 0x07 # type: ignore NV2080_CTRL_NVLINK_UNIT_MINION = 0x08 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_TYPE = (31, 28) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_TYPE_NO_ERROR = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_TYPE_RAW_BER = 0x00000001 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_TYPE_EFFECTIVE_BER = 0x00000002 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_ERR_INJECT_DURATION = (27, 12) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_BER_MANTISSA = (11, 8) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_BER_EXPONENT = (7, 0) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_INJECT_COUNT = (15, 0) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_STOMP = (16, 16) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_STOMP_DIS = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_STOMP_EN = 0x00000001 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_POISON = (17, 17) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_POISON_DIS = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_POISON_EN = 0x00000001 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_CLEAR_COUNTERS = (18, 18) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_AUTH_TAG_ERR_PIPE_INDEX = (3, 0) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_AUTH_TAG_ERR_AUTH_ERR = (4, 4) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_AUTH_TAG_ERR_AUTH_ERR_DIS = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_AUTH_TAG_ERR_AUTH_ERR_EN = 0x00000001 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_LINK_ERR_FORCE_LINK_DOWN = (0, 0) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_LINK_ERR_FORCE_LINK_DOWN_DIS = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_LINK_ERR_FORCE_LINK_DOWN_EN = 0x00000001 # type: ignore NV2080_CTRL_NVLINK_SET_HW_ERROR_INJECT_PARAMS_MESSAGE_ID = (0x81) # type: ignore NV2080_CTRL_CMD_NVLINK_SET_HW_ERROR_INJECT = (0x20803081) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_LINK_STATE = (1, 0) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_LINK_STATE_UP = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_LINK_STATE_DOWN_BY_REQUEST = 0x00000001 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_LINK_STATE_DOWN_BY_HW_ERR = 0x00000002 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_OPER_STS = (0, 0) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_OPER_STS_NO_ERR_INJECT = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_OPER_STS_PERFORMING_ERR_INJECT = 0x00000001 # type: ignore NV2080_CTRL_NVLINK_GET_HW_ERROR_INJECT_PARAMS_MESSAGE_ID = (0x82) # type: ignore @@ -22083,13 +23216,17 @@ NV2080_CTRL_NVLINK_CONFIGURE_L1_TOGGLE_PARAMS_MESSAGE_ID = (0x8E) # type: ignore NV2080_CTRL_CMD_NVLINK_GET_L1_TOGGLE = (0x2080308f) # type: ignore NV2080_CTRL_NVLINK_GET_L1_TOGGLE_PARAMS_MESSAGE_ID = (0x8F) # type: ignore NV_SUBPROC_NAME_MAX_LENGTH = 100 # type: ignore +NV2080_CTRL_PERF_BOOST_FLAGS_CMD = (1, 0) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CMD_CLEAR = (0x00000000) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CMD_BOOST_1LEVEL = (0x00000001) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CMD_BOOST_TO_MAX = (0x00000002) # type: ignore +NV2080_CTRL_PERF_BOOST_FLAGS_CUDA = (4, 4) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_NO = (0x00000000) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_YES = (0x00000001) # type: ignore +NV2080_CTRL_PERF_BOOST_FLAGS_ASYNC = (5, 5) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_ASYNC_NO = (0x00000000) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_ASYNC_YES = (0x00000001) # type: ignore +NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_PRIORITY = (6, 6) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_PRIORITY_DEFAULT = (0x00000000) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_PRIORITY_HIGH = (0x00000001) # type: ignore NV2080_CTRL_PERF_BOOST_DURATION_MAX = 3600 # type: ignore @@ -22130,8 +23267,10 @@ NV2080_CTRL_CMD_PERF_GET_LEVEL_INFO = (0x20802002) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_PARAMS_MESSAGE_ID = (0x2) # type: ignore NV2080_CTRL_CMD_PERF_GET_LEVEL_INFO_V2 = (0x2080200b) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_V2_PARAMS_MESSAGE_ID = (0xB) # type: ignore +NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_TYPE = (0, 0) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_TYPE_DEFAULT = (0x00000000) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_TYPE_OVERCLOCK = (0x00000001) # type: ignore +NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_MODE = (2, 1) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_MODE_NONE = (0x00000000) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_MODE_DESKTOP = (0x00000001) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_MODE_MAXPERF = (0x00000002) # type: ignore @@ -22251,6 +23390,7 @@ NV2080_CTRL_INTERNAL_SPDM_RETRIEVE_TRANSCRIPT = (0x20800ada) # type: ignore NV2080_CTRL_INTERNAL_SPDM_RETRIEVE_TRANSCRIPT_PARAMS_MESSAGE_ID = (0xDA) # type: ignore NV2080_CTRL_CMD_TIMER_SCHEDULE = (0x20800401) # type: ignore NV2080_CTRL_CMD_TIMER_SCHEDULE_PARAMS_MESSAGE_ID = (0x1) # type: ignore +NV2080_CTRL_TIMER_SCHEDULE_FLAGS_TIME = (0, 0) # type: ignore NV2080_CTRL_TIMER_SCHEDULE_FLAGS_TIME_ABS = (0x00000000) # type: ignore NV2080_CTRL_TIMER_SCHEDULE_FLAGS_TIME_REL = (0x00000001) # type: ignore NV2080_CTRL_CMD_TIMER_CANCEL = (0x20800402) # type: ignore @@ -22261,10 +23401,12 @@ NV2080_CTRL_TIMER_GET_REGISTER_OFFSET_PARAMS_MESSAGE_ID = (0x4) # type: ignore NV2080_CTRL_CMD_TIMER_GET_GPU_CPU_TIME_CORRELATION_INFO = (0x20800406) # type: ignore NV2080_CTRL_TIMER_GPU_CPU_TIME_MAX_SAMPLES = 16 # type: ignore NV2080_CTRL_TIMER_GET_GPU_CPU_TIME_CORRELATION_INFO_PARAMS_MESSAGE_ID = (0x6) # type: ignore +NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_SOURCE = (3, 0) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_OSTIME = (0x00000001) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_TSC = (0x00000002) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_PLATFORM_API = (0x00000003) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_GSP_OS = (0x00000004) # type: ignore +NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_PROCESSOR = (7, 4) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_PROCESSOR_CPU = (0x00000000) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_PROCESSOR_GSP = (0x00000001) # type: ignore NV2080_CTRL_CMD_TIMER_SET_GR_TICK_FREQ = (0x20800407) # type: ignore @@ -22439,6 +23581,12 @@ NVB0CC_CTRL_CMD_INTERNAL_RESERVE_HWPM_LEGACY = (0xb0cc020a) # type: ignore NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS_MESSAGE_ID = (0xa) # type: ignore NVB0CC_CTRL_CMD_POWER_REQUEST_FEATURES = (0xb0cc0301) # type: ignore NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS_MESSAGE_ID = (0x1) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_ELCG = (1, 0) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_BLCG = (3, 2) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_SLCG = (5, 4) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_ELPG = (7, 6) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_IDLE_SLOWDOWN = (9, 8) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_VAT = (11, 10) # type: ignore NVB0CC_CTRL_POWER_FEATURE_IGNORE = (0x00000000) # type: ignore NVB0CC_CTRL_POWER_FEATURE_DISABLE = (0x00000001) # type: ignore NVB0CC_CTRL_POWER_FEATURE_ENABLE = (0x00000002) # type: ignore diff --git a/tinygrad/runtime/autogen/nv_580.py b/tinygrad/runtime/autogen/nv_580.py index a2762e1831..5d288de646 100644 --- a/tinygrad/runtime/autogen/nv_580.py +++ b/tinygrad/runtime/autogen/nv_580.py @@ -13436,8 +13436,11 @@ NV_WARN_THRESHOLD_CROSSED = nv_status_codes.define('NV_WARN_THRESHOLD_CROSSED', c.init_records() NVC9B0_VIDEO_DECODER = (0x0000C9B0) # type: ignore NVC9B0_NOP = (0x00000100) # type: ignore +NVC9B0_NOP_PARAMETER = (31, 0) # type: ignore NVC9B0_PM_TRIGGER = (0x00000140) # type: ignore +NVC9B0_PM_TRIGGER_V = (31, 0) # type: ignore NVC9B0_SET_APPLICATION_ID = (0x00000200) # type: ignore +NVC9B0_SET_APPLICATION_ID_ID = (31, 0) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_MPEG12 = (0x00000001) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_VC1 = (0x00000002) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_H264 = (0x00000003) # type: ignore @@ -13458,53 +13461,82 @@ NVC9B0_SET_APPLICATION_ID_ID_AVD = (0x00000012) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_HW_DRM_PR4_DECRYPTCONTENTMULTIPLE = (0x00000013) # type: ignore NVC9B0_SET_APPLICATION_ID_ID_DHKE = (0x00000020) # type: ignore NVC9B0_SET_WATCHDOG_TIMER = (0x00000204) # type: ignore +NVC9B0_SET_WATCHDOG_TIMER_TIMER = (31, 0) # type: ignore NVC9B0_SEMAPHORE_A = (0x00000240) # type: ignore +NVC9B0_SEMAPHORE_A_UPPER = (7, 0) # type: ignore NVC9B0_SEMAPHORE_B = (0x00000244) # type: ignore +NVC9B0_SEMAPHORE_B_LOWER = (31, 0) # type: ignore NVC9B0_SEMAPHORE_C = (0x00000248) # type: ignore +NVC9B0_SEMAPHORE_C_PAYLOAD = (31, 0) # type: ignore NVC9B0_CTX_SAVE_AREA = (0x0000024C) # type: ignore +NVC9B0_CTX_SAVE_AREA_OFFSET = (31, 0) # type: ignore NVC9B0_CTX_SWITCH = (0x00000250) # type: ignore +NVC9B0_CTX_SWITCH_OP = (1, 0) # type: ignore NVC9B0_CTX_SWITCH_OP_CTX_UPDATE = (0x00000000) # type: ignore NVC9B0_CTX_SWITCH_OP_CTX_SAVE = (0x00000001) # type: ignore NVC9B0_CTX_SWITCH_OP_CTX_RESTORE = (0x00000002) # type: ignore NVC9B0_CTX_SWITCH_OP_CTX_FORCERESTORE = (0x00000003) # type: ignore +NVC9B0_CTX_SWITCH_CTXID_VALID = (2, 2) # type: ignore NVC9B0_CTX_SWITCH_CTXID_VALID_FALSE = (0x00000000) # type: ignore NVC9B0_CTX_SWITCH_CTXID_VALID_TRUE = (0x00000001) # type: ignore +NVC9B0_CTX_SWITCH_RESERVED0 = (7, 3) # type: ignore +NVC9B0_CTX_SWITCH_CTX_ID = (23, 8) # type: ignore +NVC9B0_CTX_SWITCH_RESERVED1 = (31, 24) # type: ignore NVC9B0_SET_SEMAPHORE_PAYLOAD_LOWER = (0x00000254) # type: ignore +NVC9B0_SET_SEMAPHORE_PAYLOAD_LOWER_PAYLOAD_LOWER = (31, 0) # type: ignore NVC9B0_SET_SEMAPHORE_PAYLOAD_UPPER = (0x00000258) # type: ignore +NVC9B0_SET_SEMAPHORE_PAYLOAD_UPPER_PAYLOAD_UPPER = (31, 0) # type: ignore NVC9B0_SET_MONITORED_FENCE_SIGNAL_ADDRESS_BASE_A = (0x0000025C) # type: ignore +NVC9B0_SET_MONITORED_FENCE_SIGNAL_ADDRESS_BASE_A_LOWER = (31, 0) # type: ignore NVC9B0_SET_MONITORED_FENCE_SIGNAL_ADDRESS_BASE_B = (0x00000260) # type: ignore +NVC9B0_SET_MONITORED_FENCE_SIGNAL_ADDRESS_BASE_B_UPPER = (31, 0) # type: ignore NVC9B0_EXECUTE = (0x00000300) # type: ignore +NVC9B0_EXECUTE_NOTIFY = (0, 0) # type: ignore NVC9B0_EXECUTE_NOTIFY_DISABLE = (0x00000000) # type: ignore NVC9B0_EXECUTE_NOTIFY_ENABLE = (0x00000001) # type: ignore +NVC9B0_EXECUTE_NOTIFY_ON = (1, 1) # type: ignore NVC9B0_EXECUTE_NOTIFY_ON_END = (0x00000000) # type: ignore NVC9B0_EXECUTE_NOTIFY_ON_BEGIN = (0x00000001) # type: ignore +NVC9B0_EXECUTE_PREDICATION = (2, 2) # type: ignore NVC9B0_EXECUTE_PREDICATION_DISABLE = (0x00000000) # type: ignore NVC9B0_EXECUTE_PREDICATION_ENABLE = (0x00000001) # type: ignore +NVC9B0_EXECUTE_PREDICATION_OP = (3, 3) # type: ignore NVC9B0_EXECUTE_PREDICATION_OP_EQUAL_ZERO = (0x00000000) # type: ignore NVC9B0_EXECUTE_PREDICATION_OP_NOT_EQUAL_ZERO = (0x00000001) # type: ignore +NVC9B0_EXECUTE_AWAKEN = (8, 8) # type: ignore NVC9B0_EXECUTE_AWAKEN_DISABLE = (0x00000000) # type: ignore NVC9B0_EXECUTE_AWAKEN_ENABLE = (0x00000001) # type: ignore NVC9B0_SEMAPHORE_D = (0x00000304) # type: ignore +NVC9B0_SEMAPHORE_D_STRUCTURE_SIZE = (1, 0) # type: ignore NVC9B0_SEMAPHORE_D_STRUCTURE_SIZE_ONE = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_STRUCTURE_SIZE_FOUR = (0x00000001) # type: ignore NVC9B0_SEMAPHORE_D_STRUCTURE_SIZE_TWO = (0x00000002) # type: ignore +NVC9B0_SEMAPHORE_D_AWAKEN_ENABLE = (8, 8) # type: ignore NVC9B0_SEMAPHORE_D_AWAKEN_ENABLE_FALSE = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_AWAKEN_ENABLE_TRUE = (0x00000001) # type: ignore +NVC9B0_SEMAPHORE_D_OPERATION = (17, 16) # type: ignore NVC9B0_SEMAPHORE_D_OPERATION_RELEASE = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_OPERATION_RESERVED_0 = (0x00000001) # type: ignore NVC9B0_SEMAPHORE_D_OPERATION_RESERVED_1 = (0x00000002) # type: ignore NVC9B0_SEMAPHORE_D_OPERATION_TRAP = (0x00000003) # type: ignore +NVC9B0_SEMAPHORE_D_FLUSH_DISABLE = (21, 21) # type: ignore NVC9B0_SEMAPHORE_D_FLUSH_DISABLE_FALSE = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_FLUSH_DISABLE_TRUE = (0x00000001) # type: ignore +NVC9B0_SEMAPHORE_D_TRAP_TYPE = (23, 22) # type: ignore NVC9B0_SEMAPHORE_D_TRAP_TYPE_UNCONDITIONAL = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_TRAP_TYPE_CONDITIONAL = (0x00000001) # type: ignore NVC9B0_SEMAPHORE_D_TRAP_TYPE_CONDITIONAL_EXT = (0x00000002) # type: ignore +NVC9B0_SEMAPHORE_D_PAYLOAD_SIZE = (24, 24) # type: ignore NVC9B0_SEMAPHORE_D_PAYLOAD_SIZE_32BIT = (0x00000000) # type: ignore NVC9B0_SEMAPHORE_D_PAYLOAD_SIZE_64BIT = (0x00000001) # type: ignore NVC9B0_SET_PREDICATION_OFFSET_UPPER = (0x00000308) # type: ignore +NVC9B0_SET_PREDICATION_OFFSET_UPPER_OFFSET = (7, 0) # type: ignore NVC9B0_SET_PREDICATION_OFFSET_LOWER = (0x0000030C) # type: ignore +NVC9B0_SET_PREDICATION_OFFSET_LOWER_OFFSET = (31, 0) # type: ignore NVC9B0_SET_AUXILIARY_DATA_BUFFER = (0x00000310) # type: ignore +NVC9B0_SET_AUXILIARY_DATA_BUFFER_OFFSET = (31, 0) # type: ignore NVC9B0_SET_CONTROL_PARAMS = (0x00000400) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE = (3, 0) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_MPEG1 = (0x00000000) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_MPEG2 = (0x00000001) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_VC1 = (0x00000002) # type: ignore @@ -13515,129 +13547,265 @@ NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_VP8 = (0x00000005) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_HEVC = (0x00000007) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_VP9 = (0x00000009) # type: ignore NVC9B0_SET_CONTROL_PARAMS_CODEC_TYPE_AV1 = (0x0000000A) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_GPTIMER_ON = (4, 4) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_RET_ERROR = (5, 5) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ERR_CONCEAL_ON = (6, 6) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ERROR_FRM_IDX = (12, 7) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_MBTIMER_ON = (13, 13) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_EC_INTRA_FRAME_USING_PSLC = (14, 14) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_IGNORE_SOME_FIELDS_CRC_CHECK = (15, 15) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_EVENT_TRACE_LOGGING_ON = (16, 16) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ALL_INTRA_FRAME = (17, 17) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_TESTRUN_ENV = (19, 18) # type: ignore NVC9B0_SET_CONTROL_PARAMS_TESTRUN_ENV_TRACE3D_RUN = (0x00000000) # type: ignore NVC9B0_SET_CONTROL_PARAMS_TESTRUN_ENV_PROD_RUN = (0x00000001) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_HINT_DUMP_EN = (20, 20) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_RESERVED = (25, 21) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_NVDECSIM_SKIP_SCP = (26, 26) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ENABLE_ENCRYPT = (27, 27) # type: ignore +NVC9B0_SET_CONTROL_PARAMS_ENCRYPTMODE = (31, 28) # type: ignore NVC9B0_SET_DRV_PIC_SETUP_OFFSET = (0x00000404) # type: ignore +NVC9B0_SET_DRV_PIC_SETUP_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_IN_BUF_BASE_OFFSET = (0x00000408) # type: ignore +NVC9B0_SET_IN_BUF_BASE_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_INDEX = (0x0000040C) # type: ignore +NVC9B0_SET_PICTURE_INDEX_INDEX = (31, 0) # type: ignore NVC9B0_SET_SLICE_OFFSETS_BUF_OFFSET = (0x00000410) # type: ignore +NVC9B0_SET_SLICE_OFFSETS_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_COLOC_DATA_OFFSET = (0x00000414) # type: ignore +NVC9B0_SET_COLOC_DATA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_HISTORY_OFFSET = (0x00000418) # type: ignore +NVC9B0_SET_HISTORY_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_DISPLAY_BUF_SIZE = (0x0000041C) # type: ignore +NVC9B0_SET_DISPLAY_BUF_SIZE_SIZE = (31, 0) # type: ignore NVC9B0_SET_HISTOGRAM_OFFSET = (0x00000420) # type: ignore +NVC9B0_SET_HISTOGRAM_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_NVDEC_STATUS_OFFSET = (0x00000424) # type: ignore +NVC9B0_SET_NVDEC_STATUS_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_DISPLAY_BUF_LUMA_OFFSET = (0x00000428) # type: ignore +NVC9B0_SET_DISPLAY_BUF_LUMA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_DISPLAY_BUF_CHROMA_OFFSET = (0x0000042C) # type: ignore +NVC9B0_SET_DISPLAY_BUF_CHROMA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET0 = (0x00000430) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET0_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET1 = (0x00000434) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET1_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET2 = (0x00000438) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET2_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET3 = (0x0000043C) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET3_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET4 = (0x00000440) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET4_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET5 = (0x00000444) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET5_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET6 = (0x00000448) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET6_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET7 = (0x0000044C) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET7_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET8 = (0x00000450) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET8_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET9 = (0x00000454) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET9_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET10 = (0x00000458) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET10_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET11 = (0x0000045C) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET11_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET12 = (0x00000460) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET12_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET13 = (0x00000464) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET13_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET14 = (0x00000468) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET14_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET15 = (0x0000046C) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET15_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_LUMA_OFFSET16 = (0x00000470) # type: ignore +NVC9B0_SET_PICTURE_LUMA_OFFSET16_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET0 = (0x00000474) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET0_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET1 = (0x00000478) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET1_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET2 = (0x0000047C) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET2_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET3 = (0x00000480) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET3_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET4 = (0x00000484) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET4_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET5 = (0x00000488) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET5_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET6 = (0x0000048C) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET6_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET7 = (0x00000490) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET7_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET8 = (0x00000494) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET8_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET9 = (0x00000498) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET9_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET10 = (0x0000049C) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET10_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET11 = (0x000004A0) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET11_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET12 = (0x000004A4) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET12_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET13 = (0x000004A8) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET13_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET14 = (0x000004AC) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET14_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET15 = (0x000004B0) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET15_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PICTURE_CHROMA_OFFSET16 = (0x000004B4) # type: ignore +NVC9B0_SET_PICTURE_CHROMA_OFFSET16_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PIC_SCRATCH_BUF_OFFSET = (0x000004B8) # type: ignore +NVC9B0_SET_PIC_SCRATCH_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_EXTERNAL_MVBUFFER_OFFSET = (0x000004BC) # type: ignore +NVC9B0_SET_EXTERNAL_MVBUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_SUB_SAMPLE_MAP_OFFSET = (0x000004C0) # type: ignore +NVC9B0_SET_SUB_SAMPLE_MAP_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_SUB_SAMPLE_MAP_IV_OFFSET = (0x000004C4) # type: ignore +NVC9B0_SET_SUB_SAMPLE_MAP_IV_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_INTRA_TOP_BUF_OFFSET = (0x000004C8) # type: ignore +NVC9B0_SET_INTRA_TOP_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_TILE_SIZE_BUF_OFFSET = (0x000004CC) # type: ignore +NVC9B0_SET_TILE_SIZE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_FILTER_BUFFER_OFFSET = (0x000004D0) # type: ignore +NVC9B0_SET_FILTER_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_CRC_STRUCT_OFFSET = (0x000004D4) # type: ignore +NVC9B0_SET_CRC_STRUCT_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_PR_SSM_CONTENT_INFO_BUF_OFFSET = (0x000004D8) # type: ignore +NVC9B0_SET_PR_SSM_CONTENT_INFO_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_MBHIST_BUF_OFFSET = (0x00000500) # type: ignore +NVC9B0_H264_SET_MBHIST_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP8_SET_PROB_DATA_OFFSET = (0x00000540) # type: ignore +NVC9B0_VP8_SET_PROB_DATA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP8_SET_HEADER_PARTITION_BUF_BASE_OFFSET = (0x00000544) # type: ignore +NVC9B0_VP8_SET_HEADER_PARTITION_BUF_BASE_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_SCALING_LIST_OFFSET = (0x00000580) # type: ignore +NVC9B0_HEVC_SET_SCALING_LIST_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_TILE_SIZES_OFFSET = (0x00000584) # type: ignore +NVC9B0_HEVC_SET_TILE_SIZES_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_FILTER_BUFFER_OFFSET = (0x00000588) # type: ignore +NVC9B0_HEVC_SET_FILTER_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_SAO_BUFFER_OFFSET = (0x0000058C) # type: ignore +NVC9B0_HEVC_SET_SAO_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_SLICE_INFO_BUFFER_OFFSET = (0x00000590) # type: ignore +NVC9B0_HEVC_SET_SLICE_INFO_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_HEVC_SET_SLICE_GROUP_INDEX = (0x00000594) # type: ignore +NVC9B0_HEVC_SET_SLICE_GROUP_INDEX_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_PROB_TAB_BUF_OFFSET = (0x000005C0) # type: ignore +NVC9B0_VP9_SET_PROB_TAB_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_CTX_COUNTER_BUF_OFFSET = (0x000005C4) # type: ignore +NVC9B0_VP9_SET_CTX_COUNTER_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_SEGMENT_READ_BUF_OFFSET = (0x000005C8) # type: ignore +NVC9B0_VP9_SET_SEGMENT_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_SEGMENT_WRITE_BUF_OFFSET = (0x000005CC) # type: ignore +NVC9B0_VP9_SET_SEGMENT_WRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_TILE_SIZE_BUF_OFFSET = (0x000005D0) # type: ignore +NVC9B0_VP9_SET_TILE_SIZE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_COL_MVWRITE_BUF_OFFSET = (0x000005D4) # type: ignore +NVC9B0_VP9_SET_COL_MVWRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_COL_MVREAD_BUF_OFFSET = (0x000005D8) # type: ignore +NVC9B0_VP9_SET_COL_MVREAD_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_FILTER_BUFFER_OFFSET = (0x000005DC) # type: ignore +NVC9B0_VP9_SET_FILTER_BUFFER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_PARSER_SET_PIC_SETUP_OFFSET = (0x000005E0) # type: ignore +NVC9B0_VP9_PARSER_SET_PIC_SETUP_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_PARSER_SET_PREV_PIC_SETUP_OFFSET = (0x000005E4) # type: ignore +NVC9B0_VP9_PARSER_SET_PREV_PIC_SETUP_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_PARSER_SET_PROB_TAB_BUF_OFFSET = (0x000005E8) # type: ignore +NVC9B0_VP9_PARSER_SET_PROB_TAB_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_VP9_SET_HINT_DUMP_BUF_OFFSET = (0x000005EC) # type: ignore +NVC9B0_VP9_SET_HINT_DUMP_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_CLEAR_HEADER_OFFSET = (0x00000600) # type: ignore +NVC9B0_PASS1_SET_CLEAR_HEADER_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_RE_ENCRYPT_OFFSET = (0x00000604) # type: ignore +NVC9B0_PASS1_SET_RE_ENCRYPT_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_VP8_TOKEN_OFFSET = (0x00000608) # type: ignore +NVC9B0_PASS1_SET_VP8_TOKEN_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_INPUT_DATA_OFFSET = (0x0000060C) # type: ignore +NVC9B0_PASS1_SET_INPUT_DATA_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PASS1_SET_OUTPUT_DATA_SIZE_OFFSET = (0x00000610) # type: ignore +NVC9B0_PASS1_SET_OUTPUT_DATA_SIZE_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_PROB_TAB_READ_BUF_OFFSET = (0x00000640) # type: ignore +NVC9B0_AV1_SET_PROB_TAB_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_PROB_TAB_WRITE_BUF_OFFSET = (0x00000644) # type: ignore +NVC9B0_AV1_SET_PROB_TAB_WRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_SEGMENT_READ_BUF_OFFSET = (0x00000648) # type: ignore +NVC9B0_AV1_SET_SEGMENT_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_SEGMENT_WRITE_BUF_OFFSET = (0x0000064C) # type: ignore +NVC9B0_AV1_SET_SEGMENT_WRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_COL_MV0_READ_BUF_OFFSET = (0x00000650) # type: ignore +NVC9B0_AV1_SET_COL_MV0_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_COL_MV1_READ_BUF_OFFSET = (0x00000654) # type: ignore +NVC9B0_AV1_SET_COL_MV1_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_COL_MV2_READ_BUF_OFFSET = (0x00000658) # type: ignore +NVC9B0_AV1_SET_COL_MV2_READ_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_COL_MVWRITE_BUF_OFFSET = (0x0000065C) # type: ignore +NVC9B0_AV1_SET_COL_MVWRITE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_GLOBAL_MODEL_BUF_OFFSET = (0x00000660) # type: ignore +NVC9B0_AV1_SET_GLOBAL_MODEL_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_FILM_GRAIN_BUF_OFFSET = (0x00000664) # type: ignore +NVC9B0_AV1_SET_FILM_GRAIN_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_TILE_STREAM_INFO_BUF_OFFSET = (0x00000668) # type: ignore +NVC9B0_AV1_SET_TILE_STREAM_INFO_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_SUB_STREAM_ENTRY_BUF_OFFSET = (0x0000066C) # type: ignore +NVC9B0_AV1_SET_SUB_STREAM_ENTRY_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_AV1_SET_HINT_DUMP_BUF_OFFSET = (0x00000670) # type: ignore +NVC9B0_AV1_SET_HINT_DUMP_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_SCALING_LIST_OFFSET = (0x00000680) # type: ignore +NVC9B0_H264_SET_SCALING_LIST_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_VLDHIST_BUF_OFFSET = (0x00000684) # type: ignore +NVC9B0_H264_SET_VLDHIST_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_EDOBOFFSET0 = (0x00000688) # type: ignore +NVC9B0_H264_SET_EDOBOFFSET0_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_EDOBOFFSET1 = (0x0000068C) # type: ignore +NVC9B0_H264_SET_EDOBOFFSET1_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_EDOBOFFSET2 = (0x00000690) # type: ignore +NVC9B0_H264_SET_EDOBOFFSET2_OFFSET = (31, 0) # type: ignore NVC9B0_H264_SET_EDOBOFFSET3 = (0x00000694) # type: ignore +NVC9B0_H264_SET_EDOBOFFSET3_OFFSET = (31, 0) # type: ignore NVC9B0_SET_CONTENT_INITIAL_VECTOR = lambda b: (0x00000C00 + (b)*0x00000004) # type: ignore +NVC9B0_SET_CONTENT_INITIAL_VECTOR_VALUE = (31, 0) # type: ignore NVC9B0_SET_CTL_COUNT = (0x00000C10) # type: ignore +NVC9B0_SET_CTL_COUNT_VALUE = (31, 0) # type: ignore NVC9B0_SET_UPPER_SRC = (0x00000C14) # type: ignore +NVC9B0_SET_UPPER_SRC_OFFSET = (7, 0) # type: ignore NVC9B0_SET_LOWER_SRC = (0x00000C18) # type: ignore +NVC9B0_SET_LOWER_SRC_OFFSET = (31, 0) # type: ignore NVC9B0_SET_UPPER_DST = (0x00000C1C) # type: ignore +NVC9B0_SET_UPPER_DST_OFFSET = (7, 0) # type: ignore NVC9B0_SET_LOWER_DST = (0x00000C20) # type: ignore +NVC9B0_SET_LOWER_DST_OFFSET = (31, 0) # type: ignore NVC9B0_SET_BLOCK_COUNT = (0x00000C24) # type: ignore +NVC9B0_SET_BLOCK_COUNT_VALUE = (31, 0) # type: ignore NVC9B0_PR_SET_REQUEST_BUF_OFFSET = (0x00000D00) # type: ignore +NVC9B0_PR_SET_REQUEST_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_REQUEST_BUF_SIZE = (0x00000D04) # type: ignore +NVC9B0_PR_SET_REQUEST_BUF_SIZE_SIZE = (31, 0) # type: ignore NVC9B0_PR_SET_RESPONSE_BUF_OFFSET = (0x00000D08) # type: ignore +NVC9B0_PR_SET_RESPONSE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_RESPONSE_BUF_SIZE = (0x00000D0C) # type: ignore +NVC9B0_PR_SET_RESPONSE_BUF_SIZE_SIZE = (31, 0) # type: ignore NVC9B0_PR_SET_REQUEST_MESSAGE_BUF_OFFSET = (0x00000D10) # type: ignore +NVC9B0_PR_SET_REQUEST_MESSAGE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_RESPONSE_MESSAGE_BUF_OFFSET = (0x00000D14) # type: ignore +NVC9B0_PR_SET_RESPONSE_MESSAGE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_LOCAL_DECRYPT_BUF_OFFSET = (0x00000D18) # type: ignore +NVC9B0_PR_SET_LOCAL_DECRYPT_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_LOCAL_DECRYPT_BUF_SIZE = (0x00000D1C) # type: ignore +NVC9B0_PR_SET_LOCAL_DECRYPT_BUF_SIZE_SIZE = (31, 0) # type: ignore NVC9B0_PR_SET_CONTENT_DECRYPT_INFO_BUF_OFFSET = (0x00000D20) # type: ignore +NVC9B0_PR_SET_CONTENT_DECRYPT_INFO_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_PR_SET_REENCRYPTED_BITSTREAM_BUF_OFFSET = (0x00000D24) # type: ignore +NVC9B0_PR_SET_REENCRYPTED_BITSTREAM_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_DH_KE_SET_CHALLENGE_BUF_OFFSET = (0x00000E00) # type: ignore +NVC9B0_DH_KE_SET_CHALLENGE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_DH_KE_SET_RESPONSE_BUF_OFFSET = (0x00000E04) # type: ignore +NVC9B0_DH_KE_SET_RESPONSE_BUF_OFFSET_OFFSET = (31, 0) # type: ignore NVC9B0_SET_SESSION_KEY = lambda b: (0x00000F00 + (b)*0x00000004) # type: ignore +NVC9B0_SET_SESSION_KEY_VALUE = (31, 0) # type: ignore NVC9B0_SET_CONTENT_KEY = lambda b: (0x00000F10 + (b)*0x00000004) # type: ignore +NVC9B0_SET_CONTENT_KEY_VALUE = (31, 0) # type: ignore NVC9B0_PM_TRIGGER_END = (0x00001114) # type: ignore +NVC9B0_PM_TRIGGER_END_V = (31, 0) # type: ignore NVC9B0_ERROR_NONE = (0x00000000) # type: ignore NVC9B0_OS_ERROR_EXECUTE_INSUFFICIENT_DATA = (0x00000001) # type: ignore NVC9B0_OS_ERROR_SEMAPHORE_INSUFFICIENT_DATA = (0x00000002) # type: ignore @@ -15833,27 +16001,42 @@ NV2080_PLATFORM_POWER_MODE_CHANGE_COMPLETION = (0x00000000) # type: ignore NV2080_PLATFORM_POWER_MODE_CHANGE_ACPI_NOTIFICATION = (0x00000001) # type: ignore NV2080_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000) # type: ignore NV2080_TYPEDEF = Nv20Subdevice0 # type: ignore +NV2080_PLATFORM_POWER_MODE_CHANGE_INFO_INDEX = (7, 0) # type: ignore +NV2080_PLATFORM_POWER_MODE_CHANGE_INFO_MASK = (15, 8) # type: ignore +NV2080_PLATFORM_POWER_MODE_CHANGE_INFO_REASON = (23, 16) # type: ignore AMPERE_CHANNEL_GPFIFO_A = (0x0000C56F) # type: ignore NVC56F_NUMBER_OF_SUBCHANNELS = (8) # type: ignore NVC56F_SET_OBJECT = (0x00000000) # type: ignore +NVC56F_SET_OBJECT_NVCLASS = (15, 0) # type: ignore +NVC56F_SET_OBJECT_ENGINE = (20, 16) # type: ignore NVC56F_SET_OBJECT_ENGINE_SW = 0x0000001f # type: ignore NVC56F_ILLEGAL = (0x00000004) # type: ignore +NVC56F_ILLEGAL_HANDLE = (31, 0) # type: ignore NVC56F_NOP = (0x00000008) # type: ignore +NVC56F_NOP_HANDLE = (31, 0) # type: ignore NVC56F_SEMAPHOREA = (0x00000010) # type: ignore +NVC56F_SEMAPHOREA_OFFSET_UPPER = (7, 0) # type: ignore NVC56F_SEMAPHOREB = (0x00000014) # type: ignore +NVC56F_SEMAPHOREB_OFFSET_LOWER = (31, 2) # type: ignore NVC56F_SEMAPHOREC = (0x00000018) # type: ignore +NVC56F_SEMAPHOREC_PAYLOAD = (31, 0) # type: ignore NVC56F_SEMAPHORED = (0x0000001C) # type: ignore +NVC56F_SEMAPHORED_OPERATION = (4, 0) # type: ignore NVC56F_SEMAPHORED_OPERATION_ACQUIRE = 0x00000001 # type: ignore NVC56F_SEMAPHORED_OPERATION_RELEASE = 0x00000002 # type: ignore NVC56F_SEMAPHORED_OPERATION_ACQ_GEQ = 0x00000004 # type: ignore NVC56F_SEMAPHORED_OPERATION_ACQ_AND = 0x00000008 # type: ignore NVC56F_SEMAPHORED_OPERATION_REDUCTION = 0x00000010 # type: ignore +NVC56F_SEMAPHORED_ACQUIRE_SWITCH = (12, 12) # type: ignore NVC56F_SEMAPHORED_ACQUIRE_SWITCH_DISABLED = 0x00000000 # type: ignore NVC56F_SEMAPHORED_ACQUIRE_SWITCH_ENABLED = 0x00000001 # type: ignore +NVC56F_SEMAPHORED_RELEASE_WFI = (20, 20) # type: ignore NVC56F_SEMAPHORED_RELEASE_WFI_EN = 0x00000000 # type: ignore NVC56F_SEMAPHORED_RELEASE_WFI_DIS = 0x00000001 # type: ignore +NVC56F_SEMAPHORED_RELEASE_SIZE = (24, 24) # type: ignore NVC56F_SEMAPHORED_RELEASE_SIZE_16BYTE = 0x00000000 # type: ignore NVC56F_SEMAPHORED_RELEASE_SIZE_4BYTE = 0x00000001 # type: ignore +NVC56F_SEMAPHORED_REDUCTION = (30, 27) # type: ignore NVC56F_SEMAPHORED_REDUCTION_MIN = 0x00000000 # type: ignore NVC56F_SEMAPHORED_REDUCTION_MAX = 0x00000001 # type: ignore NVC56F_SEMAPHORED_REDUCTION_XOR = 0x00000002 # type: ignore @@ -15862,34 +16045,51 @@ NVC56F_SEMAPHORED_REDUCTION_OR = 0x00000004 # type: ignore NVC56F_SEMAPHORED_REDUCTION_ADD = 0x00000005 # type: ignore NVC56F_SEMAPHORED_REDUCTION_INC = 0x00000006 # type: ignore NVC56F_SEMAPHORED_REDUCTION_DEC = 0x00000007 # type: ignore +NVC56F_SEMAPHORED_FORMAT = (31, 31) # type: ignore NVC56F_SEMAPHORED_FORMAT_SIGNED = 0x00000000 # type: ignore NVC56F_SEMAPHORED_FORMAT_UNSIGNED = 0x00000001 # type: ignore NVC56F_NON_STALL_INTERRUPT = (0x00000020) # type: ignore +NVC56F_NON_STALL_INTERRUPT_HANDLE = (31, 0) # type: ignore NVC56F_FB_FLUSH = (0x00000024) # type: ignore +NVC56F_FB_FLUSH_HANDLE = (31, 0) # type: ignore NVC56F_MEM_OP_A = (0x00000028) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_CANCEL_TARGET_CLIENT_UNIT_ID = (5, 0) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_INVALIDATION_SIZE = (5, 0) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_CANCEL_TARGET_GPC_ID = (10, 6) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE = (7, 6) # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_ALL_TLBS = 0 # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_LINK_TLBS = 1 # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_NON_LINK_TLBS = 2 # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_RSVRVD = 3 # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_CANCEL_MMU_ENGINE_ID = (6, 0) # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR = (11, 11) # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_EN = 0x00000001 # type: ignore NVC56F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_DIS = 0x00000000 # type: ignore +NVC56F_MEM_OP_A_TLB_INVALIDATE_TARGET_ADDR_LO = (31, 12) # type: ignore NVC56F_MEM_OP_B = (0x0000002c) # type: ignore +NVC56F_MEM_OP_B_TLB_INVALIDATE_TARGET_ADDR_HI = (31, 0) # type: ignore NVC56F_MEM_OP_C = (0x00000030) # type: ignore +NVC56F_MEM_OP_C_MEMBAR_TYPE = (2, 0) # type: ignore NVC56F_MEM_OP_C_MEMBAR_TYPE_SYS_MEMBAR = 0x00000000 # type: ignore NVC56F_MEM_OP_C_MEMBAR_TYPE_MEMBAR = 0x00000001 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB = (0, 0) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_ONE = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_ALL = 0x00000001 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_GPC = (1, 1) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_GPC_ENABLE = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_GPC_DISABLE = 0x00000001 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY = (4, 2) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_NONE = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_START = 0x00000001 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_START_ACK_ALL = 0x00000002 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_TARGETED = 0x00000003 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_GLOBAL = 0x00000004 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_VA_GLOBAL = 0x00000005 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE = (6, 5) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_NONE = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_GLOBALLY = 0x00000001 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_INTRANODE = 0x00000002 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE = (9, 7) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_READ = 0 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_WRITE = 1 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_STRONG = 2 # type: ignore @@ -15898,6 +16098,7 @@ NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_WEAK = 4 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_ALL = 5 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_WRITE_AND_ATOMIC = 6 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ALL = 7 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL = (9, 7) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_ALL = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_PTE_ONLY = 0x00000001 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE0 = 0x00000002 # type: ignore @@ -15906,10 +16107,15 @@ NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE2 = 0x00000004 # type: NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE3 = 0x00000005 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE4 = 0x00000006 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE5 = 0x00000007 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE = (11, 10) # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_VID_MEM = 0x00000000 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_SYS_MEM_COHERENT = 0x00000002 # type: ignore NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_SYS_MEM_NONCOHERENT = 0x00000003 # type: ignore +NVC56F_MEM_OP_C_TLB_INVALIDATE_PDB_ADDR_LO = (31, 12) # type: ignore +NVC56F_MEM_OP_C_ACCESS_COUNTER_CLR_TARGETED_NOTIFY_TAG = (19, 0) # type: ignore NVC56F_MEM_OP_D = (0x00000034) # type: ignore +NVC56F_MEM_OP_D_TLB_INVALIDATE_PDB_ADDR_HI = (26, 0) # type: ignore +NVC56F_MEM_OP_D_OPERATION = (31, 27) # type: ignore NVC56F_MEM_OP_D_OPERATION_MEMBAR = 0x00000005 # type: ignore NVC56F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE = 0x00000009 # type: ignore NVC56F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE_TARGETED = 0x0000000a # type: ignore @@ -15920,18 +16126,27 @@ NVC56F_MEM_OP_D_OPERATION_L2_CLEAN_COMPTAGS = 0x0000000f # type: ignore NVC56F_MEM_OP_D_OPERATION_L2_FLUSH_DIRTY = 0x00000010 # type: ignore NVC56F_MEM_OP_D_OPERATION_L2_WAIT_FOR_SYS_PENDING_READS = 0x00000015 # type: ignore NVC56F_MEM_OP_D_OPERATION_ACCESS_COUNTER_CLR = 0x00000016 # type: ignore +NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE = (1, 0) # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_MIMC = 0x00000000 # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_MOMC = 0x00000001 # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_ALL = 0x00000002 # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_TARGETED = 0x00000003 # type: ignore +NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE = (2, 2) # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE_MIMC = 0x00000000 # type: ignore NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE_MOMC = 0x00000001 # type: ignore +NVC56F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_BANK = (6, 3) # type: ignore NVC56F_SET_REFERENCE = (0x00000050) # type: ignore +NVC56F_SET_REFERENCE_COUNT = (31, 0) # type: ignore NVC56F_SEM_ADDR_LO = (0x0000005c) # type: ignore +NVC56F_SEM_ADDR_LO_OFFSET = (31, 2) # type: ignore NVC56F_SEM_ADDR_HI = (0x00000060) # type: ignore +NVC56F_SEM_ADDR_HI_OFFSET = (7, 0) # type: ignore NVC56F_SEM_PAYLOAD_LO = (0x00000064) # type: ignore +NVC56F_SEM_PAYLOAD_LO_PAYLOAD = (31, 0) # type: ignore NVC56F_SEM_PAYLOAD_HI = (0x00000068) # type: ignore +NVC56F_SEM_PAYLOAD_HI_PAYLOAD = (31, 0) # type: ignore NVC56F_SEM_EXECUTE = (0x0000006c) # type: ignore +NVC56F_SEM_EXECUTE_OPERATION = (2, 0) # type: ignore NVC56F_SEM_EXECUTE_OPERATION_ACQUIRE = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_RELEASE = 0x00000001 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_ACQ_STRICT_GEQ = 0x00000002 # type: ignore @@ -15939,14 +16154,19 @@ NVC56F_SEM_EXECUTE_OPERATION_ACQ_CIRC_GEQ = 0x00000003 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_ACQ_AND = 0x00000004 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_ACQ_NOR = 0x00000005 # type: ignore NVC56F_SEM_EXECUTE_OPERATION_REDUCTION = 0x00000006 # type: ignore +NVC56F_SEM_EXECUTE_ACQUIRE_SWITCH_TSG = (12, 12) # type: ignore NVC56F_SEM_EXECUTE_ACQUIRE_SWITCH_TSG_DIS = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_ACQUIRE_SWITCH_TSG_EN = 0x00000001 # type: ignore +NVC56F_SEM_EXECUTE_RELEASE_WFI = (20, 20) # type: ignore NVC56F_SEM_EXECUTE_RELEASE_WFI_DIS = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_RELEASE_WFI_EN = 0x00000001 # type: ignore +NVC56F_SEM_EXECUTE_PAYLOAD_SIZE = (24, 24) # type: ignore NVC56F_SEM_EXECUTE_PAYLOAD_SIZE_32BIT = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_PAYLOAD_SIZE_64BIT = 0x00000001 # type: ignore +NVC56F_SEM_EXECUTE_RELEASE_TIMESTAMP = (25, 25) # type: ignore NVC56F_SEM_EXECUTE_RELEASE_TIMESTAMP_DIS = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_RELEASE_TIMESTAMP_EN = 0x00000001 # type: ignore +NVC56F_SEM_EXECUTE_REDUCTION = (30, 27) # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_IMIN = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_IMAX = 0x00000001 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_IXOR = 0x00000002 # type: ignore @@ -15955,34 +16175,56 @@ NVC56F_SEM_EXECUTE_REDUCTION_IOR = 0x00000004 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_IADD = 0x00000005 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_INC = 0x00000006 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_DEC = 0x00000007 # type: ignore +NVC56F_SEM_EXECUTE_REDUCTION_FORMAT = (31, 31) # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_FORMAT_SIGNED = 0x00000000 # type: ignore NVC56F_SEM_EXECUTE_REDUCTION_FORMAT_UNSIGNED = 0x00000001 # type: ignore NVC56F_WFI = (0x00000078) # type: ignore +NVC56F_WFI_SCOPE = (0, 0) # type: ignore NVC56F_WFI_SCOPE_CURRENT_SCG_TYPE = 0x00000000 # type: ignore NVC56F_WFI_SCOPE_CURRENT_VEID = 0x00000000 # type: ignore NVC56F_WFI_SCOPE_ALL = 0x00000001 # type: ignore NVC56F_YIELD = (0x00000080) # type: ignore +NVC56F_YIELD_OP = (1, 0) # type: ignore NVC56F_YIELD_OP_NOP = 0x00000000 # type: ignore NVC56F_YIELD_OP_TSG = 0x00000003 # type: ignore NVC56F_CLEAR_FAULTED = (0x00000084) # type: ignore +NVC56F_CLEAR_FAULTED_HANDLE = (30, 0) # type: ignore +NVC56F_CLEAR_FAULTED_TYPE = (31, 31) # type: ignore NVC56F_CLEAR_FAULTED_TYPE_PBDMA_FAULTED = 0x00000000 # type: ignore NVC56F_CLEAR_FAULTED_TYPE_ENG_FAULTED = 0x00000001 # type: ignore NVC56F_GP_ENTRY__SIZE = 8 # type: ignore +NVC56F_GP_ENTRY0_FETCH = (0, 0) # type: ignore NVC56F_GP_ENTRY0_FETCH_UNCONDITIONAL = 0x00000000 # type: ignore NVC56F_GP_ENTRY0_FETCH_CONDITIONAL = 0x00000001 # type: ignore +NVC56F_GP_ENTRY0_GET = (31, 2) # type: ignore +NVC56F_GP_ENTRY0_OPERAND = (31, 0) # type: ignore +NVC56F_GP_ENTRY1_GET_HI = (7, 0) # type: ignore +NVC56F_GP_ENTRY1_LEVEL = (9, 9) # type: ignore NVC56F_GP_ENTRY1_LEVEL_MAIN = 0x00000000 # type: ignore NVC56F_GP_ENTRY1_LEVEL_SUBROUTINE = 0x00000001 # type: ignore +NVC56F_GP_ENTRY1_LENGTH = (30, 10) # type: ignore +NVC56F_GP_ENTRY1_SYNC = (31, 31) # type: ignore NVC56F_GP_ENTRY1_SYNC_PROCEED = 0x00000000 # type: ignore NVC56F_GP_ENTRY1_SYNC_WAIT = 0x00000001 # type: ignore +NVC56F_GP_ENTRY1_OPCODE = (7, 0) # type: ignore NVC56F_GP_ENTRY1_OPCODE_NOP = 0x00000000 # type: ignore NVC56F_GP_ENTRY1_OPCODE_ILLEGAL = 0x00000001 # type: ignore NVC56F_GP_ENTRY1_OPCODE_GP_CRC = 0x00000002 # type: ignore NVC56F_GP_ENTRY1_OPCODE_PB_CRC = 0x00000003 # type: ignore +NVC56F_DMA_METHOD_ADDRESS_OLD = (12, 2) # type: ignore +NVC56F_DMA_METHOD_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_SUBDEVICE_MASK = (15, 4) # type: ignore +NVC56F_DMA_METHOD_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_TERT_OP = (17, 16) # type: ignore NVC56F_DMA_TERT_OP_GRP0_INC_METHOD = (0x00000000) # type: ignore NVC56F_DMA_TERT_OP_GRP0_SET_SUB_DEV_MASK = (0x00000001) # type: ignore NVC56F_DMA_TERT_OP_GRP0_STORE_SUB_DEV_MASK = (0x00000002) # type: ignore NVC56F_DMA_TERT_OP_GRP0_USE_SUB_DEV_MASK = (0x00000003) # type: ignore NVC56F_DMA_TERT_OP_GRP2_NON_INC_METHOD = (0x00000000) # type: ignore +NVC56F_DMA_METHOD_COUNT_OLD = (28, 18) # type: ignore +NVC56F_DMA_METHOD_COUNT = (28, 16) # type: ignore +NVC56F_DMA_IMMD_DATA = (28, 16) # type: ignore +NVC56F_DMA_SEC_OP = (31, 29) # type: ignore NVC56F_DMA_SEC_OP_GRP0_USE_TERT = (0x00000000) # type: ignore NVC56F_DMA_SEC_OP_INC_METHOD = (0x00000001) # type: ignore NVC56F_DMA_SEC_OP_GRP2_USE_TERT = (0x00000002) # type: ignore @@ -15991,44 +16233,89 @@ NVC56F_DMA_SEC_OP_IMMD_DATA_METHOD = (0x00000004) # type: ignore NVC56F_DMA_SEC_OP_ONE_INC = (0x00000005) # type: ignore NVC56F_DMA_SEC_OP_RESERVED6 = (0x00000006) # type: ignore NVC56F_DMA_SEC_OP_END_PB_SEGMENT = (0x00000007) # type: ignore +NVC56F_DMA_INCR_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_INCR_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_INCR_COUNT = (28, 16) # type: ignore +NVC56F_DMA_INCR_OPCODE = (31, 29) # type: ignore NVC56F_DMA_INCR_OPCODE_VALUE = (0x00000001) # type: ignore +NVC56F_DMA_INCR_DATA = (31, 0) # type: ignore +NVC56F_DMA_NONINCR_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_NONINCR_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_NONINCR_COUNT = (28, 16) # type: ignore +NVC56F_DMA_NONINCR_OPCODE = (31, 29) # type: ignore NVC56F_DMA_NONINCR_OPCODE_VALUE = (0x00000003) # type: ignore +NVC56F_DMA_NONINCR_DATA = (31, 0) # type: ignore +NVC56F_DMA_ONEINCR_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_ONEINCR_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_ONEINCR_COUNT = (28, 16) # type: ignore +NVC56F_DMA_ONEINCR_OPCODE = (31, 29) # type: ignore NVC56F_DMA_ONEINCR_OPCODE_VALUE = (0x00000005) # type: ignore +NVC56F_DMA_ONEINCR_DATA = (31, 0) # type: ignore NVC56F_DMA_NOP = (0x00000000) # type: ignore +NVC56F_DMA_IMMD_ADDRESS = (11, 0) # type: ignore +NVC56F_DMA_IMMD_SUBCHANNEL = (15, 13) # type: ignore +NVC56F_DMA_IMMD_DATA = (28, 16) # type: ignore +NVC56F_DMA_IMMD_OPCODE = (31, 29) # type: ignore NVC56F_DMA_IMMD_OPCODE_VALUE = (0x00000004) # type: ignore +NVC56F_DMA_SET_SUBDEVICE_MASK_VALUE = (15, 4) # type: ignore +NVC56F_DMA_SET_SUBDEVICE_MASK_OPCODE = (31, 16) # type: ignore NVC56F_DMA_SET_SUBDEVICE_MASK_OPCODE_VALUE = (0x00000001) # type: ignore +NVC56F_DMA_STORE_SUBDEVICE_MASK_VALUE = (15, 4) # type: ignore +NVC56F_DMA_STORE_SUBDEVICE_MASK_OPCODE = (31, 16) # type: ignore NVC56F_DMA_STORE_SUBDEVICE_MASK_OPCODE_VALUE = (0x00000002) # type: ignore +NVC56F_DMA_USE_SUBDEVICE_MASK_OPCODE = (31, 16) # type: ignore NVC56F_DMA_USE_SUBDEVICE_MASK_OPCODE_VALUE = (0x00000003) # type: ignore +NVC56F_DMA_ENDSEG_OPCODE = (31, 29) # type: ignore NVC56F_DMA_ENDSEG_OPCODE_VALUE = (0x00000007) # type: ignore +NVC56F_DMA_ADDRESS = (12, 2) # type: ignore +NVC56F_DMA_SUBCH = (15, 13) # type: ignore +NVC56F_DMA_OPCODE3 = (17, 16) # type: ignore NVC56F_DMA_OPCODE3_NONE = (0x00000000) # type: ignore +NVC56F_DMA_COUNT = (28, 18) # type: ignore +NVC56F_DMA_OPCODE = (31, 29) # type: ignore NVC56F_DMA_OPCODE_METHOD = (0x00000000) # type: ignore NVC56F_DMA_OPCODE_NONINC_METHOD = (0x00000002) # type: ignore +NVC56F_DMA_DATA = (31, 0) # type: ignore HOPPER_CHANNEL_GPFIFO_A = (0x0000C86F) # type: ignore NVC86F_SET_OBJECT = (0x00000000) # type: ignore NVC86F_MEM_OP_A = (0x00000028) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_CANCEL_TARGET_CLIENT_UNIT_ID = (5, 0) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_INVALIDATION_SIZE = (5, 0) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_CANCEL_TARGET_GPC_ID = (10, 6) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE = (7, 6) # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_ALL_TLBS = 0 # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_LINK_TLBS = 1 # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_NON_LINK_TLBS = 2 # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_RSVRVD = 3 # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_CANCEL_MMU_ENGINE_ID = (8, 0) # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR = (11, 11) # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_EN = 0x00000001 # type: ignore NVC86F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_DIS = 0x00000000 # type: ignore +NVC86F_MEM_OP_A_TLB_INVALIDATE_TARGET_ADDR_LO = (31, 12) # type: ignore NVC86F_MEM_OP_B = (0x0000002c) # type: ignore +NVC86F_MEM_OP_B_TLB_INVALIDATE_TARGET_ADDR_HI = (31, 0) # type: ignore NVC86F_MEM_OP_C = (0x00000030) # type: ignore +NVC86F_MEM_OP_C_MEMBAR_TYPE = (2, 0) # type: ignore NVC86F_MEM_OP_C_MEMBAR_TYPE_SYS_MEMBAR = 0x00000000 # type: ignore NVC86F_MEM_OP_C_MEMBAR_TYPE_MEMBAR = 0x00000001 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB = (0, 0) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_ONE = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_ALL = 0x00000001 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_GPC = (1, 1) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_GPC_ENABLE = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_GPC_DISABLE = 0x00000001 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY = (4, 2) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_NONE = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_START = 0x00000001 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_START_ACK_ALL = 0x00000002 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_TARGETED = 0x00000003 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_GLOBAL = 0x00000004 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_REPLAY_CANCEL_VA_GLOBAL = 0x00000005 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE = (6, 5) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_NONE = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_GLOBALLY = 0x00000001 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_INTRANODE = 0x00000002 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE = (9, 7) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_READ = 0 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_WRITE = 1 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_STRONG = 2 # type: ignore @@ -16037,6 +16324,7 @@ NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_WEAK = 4 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ATOMIC_ALL = 5 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_WRITE_AND_ATOMIC = 6 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_ACCESS_TYPE_VIRT_ALL = 7 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL = (9, 7) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_ALL = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_PTE_ONLY = 0x00000001 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE0 = 0x00000002 # type: ignore @@ -16045,10 +16333,15 @@ NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE2 = 0x00000004 # type: NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE3 = 0x00000005 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE4 = 0x00000006 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE5 = 0x00000007 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE = (11, 10) # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_VID_MEM = 0x00000000 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_SYS_MEM_COHERENT = 0x00000002 # type: ignore NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_SYS_MEM_NONCOHERENT = 0x00000003 # type: ignore +NVC86F_MEM_OP_C_TLB_INVALIDATE_PDB_ADDR_LO = (31, 12) # type: ignore +NVC86F_MEM_OP_C_ACCESS_COUNTER_CLR_TARGETED_NOTIFY_TAG = (19, 0) # type: ignore NVC86F_MEM_OP_D = (0x00000034) # type: ignore +NVC86F_MEM_OP_D_TLB_INVALIDATE_PDB_ADDR_HI = (26, 0) # type: ignore +NVC86F_MEM_OP_D_OPERATION = (31, 27) # type: ignore NVC86F_MEM_OP_D_OPERATION_MEMBAR = 0x00000005 # type: ignore NVC86F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE = 0x00000009 # type: ignore NVC86F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE_TARGETED = 0x0000000a # type: ignore @@ -16060,38 +16353,59 @@ NVC86F_MEM_OP_D_OPERATION_L2_CLEAN_COMPTAGS = 0x0000000f # type: ignore NVC86F_MEM_OP_D_OPERATION_L2_FLUSH_DIRTY = 0x00000010 # type: ignore NVC86F_MEM_OP_D_OPERATION_L2_WAIT_FOR_SYS_PENDING_READS = 0x00000015 # type: ignore NVC86F_MEM_OP_D_OPERATION_ACCESS_COUNTER_CLR = 0x00000016 # type: ignore +NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE = (1, 0) # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_MIMC = 0x00000000 # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_MOMC = 0x00000001 # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_ALL = 0x00000002 # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TYPE_TARGETED = 0x00000003 # type: ignore +NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE = (2, 2) # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE_MIMC = 0x00000000 # type: ignore NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_TYPE_MOMC = 0x00000001 # type: ignore +NVC86F_MEM_OP_D_ACCESS_COUNTER_CLR_TARGETED_BANK = (6, 3) # type: ignore +NVC86F_MEM_OP_D_MMU_OPERATION_TYPE = (23, 20) # type: ignore NVC86F_MEM_OP_D_MMU_OPERATION_TYPE_RESERVED = 0x00000000 # type: ignore NVC86F_MEM_OP_D_MMU_OPERATION_TYPE_VIDMEM_ACCESS_BIT_DUMP = 0x00000001 # type: ignore NVC86F_SEM_ADDR_LO = (0x0000005c) # type: ignore +NVC86F_SEM_ADDR_LO_OFFSET = (31, 2) # type: ignore NVC86F_SEM_ADDR_HI = (0x00000060) # type: ignore +NVC86F_SEM_ADDR_HI_OFFSET = (24, 0) # type: ignore NVC86F_SEM_PAYLOAD_LO = (0x00000064) # type: ignore NVC86F_SEM_PAYLOAD_HI = (0x00000068) # type: ignore NVC86F_SEM_EXECUTE = (0x0000006c) # type: ignore +NVC86F_SEM_EXECUTE_OPERATION = (2, 0) # type: ignore NVC86F_SEM_EXECUTE_OPERATION_ACQUIRE = 0x00000000 # type: ignore NVC86F_SEM_EXECUTE_OPERATION_RELEASE = 0x00000001 # type: ignore NVC86F_SEM_EXECUTE_OPERATION_ACQ_CIRC_GEQ = 0x00000003 # type: ignore +NVC86F_SEM_EXECUTE_ACQUIRE_SWITCH_TSG = (12, 12) # type: ignore NVC86F_SEM_EXECUTE_ACQUIRE_SWITCH_TSG_EN = 0x00000001 # type: ignore +NVC86F_SEM_EXECUTE_RELEASE_WFI = (20, 20) # type: ignore NVC86F_SEM_EXECUTE_RELEASE_WFI_DIS = 0x00000000 # type: ignore +NVC86F_SEM_EXECUTE_PAYLOAD_SIZE = (24, 24) # type: ignore NVC86F_SEM_EXECUTE_PAYLOAD_SIZE_32BIT = 0x00000000 # type: ignore +NVC86F_SEM_EXECUTE_RELEASE_TIMESTAMP = (25, 25) # type: ignore NVC86F_SEM_EXECUTE_RELEASE_TIMESTAMP_DIS = 0x00000000 # type: ignore NVC86F_SEM_EXECUTE_RELEASE_TIMESTAMP_EN = 0x00000001 # type: ignore NVC86F_WFI = (0x00000078) # type: ignore +NVC86F_WFI_SCOPE = (0, 0) # type: ignore NVC86F_WFI_SCOPE_CURRENT_SCG_TYPE = 0x00000000 # type: ignore NVC86F_WFI_SCOPE_CURRENT_VEID = 0x00000000 # type: ignore NVC86F_WFI_SCOPE_ALL = 0x00000001 # type: ignore NVC86F_GP_ENTRY__SIZE = 8 # type: ignore +NVC86F_GP_ENTRY0_FETCH = (0, 0) # type: ignore NVC86F_GP_ENTRY0_FETCH_UNCONDITIONAL = 0x00000000 # type: ignore NVC86F_GP_ENTRY0_FETCH_CONDITIONAL = 0x00000001 # type: ignore +NVC86F_GP_ENTRY0_GET = (31, 2) # type: ignore +NVC86F_GP_ENTRY0_OPERAND = (31, 0) # type: ignore +NVC86F_GP_ENTRY0_PB_EXTENDED_BASE_OPERAND = (24, 8) # type: ignore +NVC86F_GP_ENTRY1_GET_HI = (7, 0) # type: ignore +NVC86F_GP_ENTRY1_LEVEL = (9, 9) # type: ignore NVC86F_GP_ENTRY1_LEVEL_MAIN = 0x00000000 # type: ignore NVC86F_GP_ENTRY1_LEVEL_SUBROUTINE = 0x00000001 # type: ignore +NVC86F_GP_ENTRY1_LENGTH = (30, 10) # type: ignore +NVC86F_GP_ENTRY1_SYNC = (31, 31) # type: ignore NVC86F_GP_ENTRY1_SYNC_PROCEED = 0x00000000 # type: ignore NVC86F_GP_ENTRY1_SYNC_WAIT = 0x00000001 # type: ignore +NVC86F_GP_ENTRY1_OPCODE = (7, 0) # type: ignore NVC86F_GP_ENTRY1_OPCODE_NOP = 0x00000000 # type: ignore NVC86F_GP_ENTRY1_OPCODE_ILLEGAL = 0x00000001 # type: ignore NVC86F_GP_ENTRY1_OPCODE_GP_CRC = 0x00000002 # type: ignore @@ -16100,44 +16414,72 @@ NVC86F_GP_ENTRY1_OPCODE_SET_PB_SEGMENT_EXTENDED_BASE = 0x00000004 # type: ignore BLACKWELL_CHANNEL_GPFIFO_A = (0x0000C96F) # type: ignore NVC96F_SET_OBJECT = (0x00000000) # type: ignore NVC96F_MEM_OP_A = (0x00000028) # type: ignore +NVC96F_MEM_OP_A_TLB_INVALIDATE_INVALIDATION_SIZE = (5, 0) # type: ignore +NVC96F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE = (7, 6) # type: ignore NVC96F_MEM_OP_A_TLB_INVALIDATE_INVAL_SCOPE_NON_LINK_TLBS = 2 # type: ignore +NVC96F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR = (11, 11) # type: ignore NVC96F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_EN = 0x00000001 # type: ignore NVC96F_MEM_OP_A_TLB_INVALIDATE_SYSMEMBAR_DIS = 0x00000000 # type: ignore +NVC96F_MEM_OP_A_TLB_INVALIDATE_TARGET_ADDR_LO = (31, 12) # type: ignore NVC96F_MEM_OP_B = (0x0000002c) # type: ignore +NVC96F_MEM_OP_B_TLB_INVALIDATE_TARGET_ADDR_HI = (31, 0) # type: ignore NVC96F_MEM_OP_C = (0x00000030) # type: ignore +NVC96F_MEM_OP_C_TLB_INVALIDATE_PDB = (0, 0) # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_PDB_ONE = 0x00000000 # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_PDB_ALL = 0x00000001 # type: ignore +NVC96F_MEM_OP_C_TLB_INVALIDATE_GPC = (1, 1) # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_GPC_ENABLE = 0x00000000 # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_GPC_DISABLE = 0x00000001 # type: ignore +NVC96F_MEM_OP_C_TLB_INVALIDATE_REPLAY = (4, 2) # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_REPLAY_NONE = 0x00000000 # type: ignore +NVC96F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE = (6, 5) # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_NONE = 0x00000000 # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_ACK_TYPE_GLOBALLY = 0x00000001 # type: ignore +NVC96F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL = (9, 7) # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_ALL = 0x00000000 # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_PTE_ONLY = 0x00000001 # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_PAGE_TABLE_LEVEL_UP_TO_PDE4 = 0x00000006 # type: ignore +NVC96F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE = (11, 10) # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_VID_MEM = 0x00000000 # type: ignore NVC96F_MEM_OP_C_TLB_INVALIDATE_PDB_APERTURE_SYS_MEM_COHERENT = 0x00000002 # type: ignore +NVC96F_MEM_OP_C_TLB_INVALIDATE_PDB_ADDR_LO = (31, 12) # type: ignore NVC96F_MEM_OP_D = (0x00000034) # type: ignore +NVC96F_MEM_OP_D_TLB_INVALIDATE_PDB_ADDR_HI = (26, 0) # type: ignore +NVC96F_MEM_OP_D_OPERATION = (31, 27) # type: ignore NVC96F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE = 0x00000009 # type: ignore NVC96F_MEM_OP_D_OPERATION_MMU_TLB_INVALIDATE_TARGETED = 0x0000000a # type: ignore NVC96F_MEM_OP_D_OPERATION_L2_FLUSH_DIRTY = 0x00000010 # type: ignore NVC96F_MEM_OP_D_OPERATION_L2_SYSMEM_NCOH_INVALIDATE = 0x00000011 # type: ignore NVC96F_SEM_ADDR_LO = (0x0000005c) # type: ignore +NVC96F_SEM_ADDR_LO_OFFSET = (31, 2) # type: ignore NVC96F_SEM_ADDR_HI = (0x00000060) # type: ignore +NVC96F_SEM_ADDR_HI_OFFSET = (24, 0) # type: ignore NVC96F_SEM_PAYLOAD_LO = (0x00000064) # type: ignore NVC96F_SEM_PAYLOAD_HI = (0x00000068) # type: ignore NVC96F_SEM_EXECUTE = (0x0000006c) # type: ignore +NVC96F_SEM_EXECUTE_OPERATION = (2, 0) # type: ignore NVC96F_SEM_EXECUTE_OPERATION_ACQUIRE = 0x00000000 # type: ignore NVC96F_SEM_EXECUTE_OPERATION_RELEASE = 0x00000001 # type: ignore +NVC96F_SEM_EXECUTE_RELEASE_WFI = (20, 20) # type: ignore NVC96F_SEM_EXECUTE_RELEASE_WFI_DIS = 0x00000000 # type: ignore +NVC96F_SEM_EXECUTE_PAYLOAD_SIZE = (24, 24) # type: ignore NVC96F_SEM_EXECUTE_PAYLOAD_SIZE_32BIT = 0x00000000 # type: ignore NVC96F_GP_ENTRY__SIZE = 8 # type: ignore +NVC96F_GP_ENTRY0_FETCH = (0, 0) # type: ignore NVC96F_GP_ENTRY0_FETCH_UNCONDITIONAL = 0x00000000 # type: ignore NVC96F_GP_ENTRY0_FETCH_CONDITIONAL = 0x00000001 # type: ignore +NVC96F_GP_ENTRY0_GET = (31, 2) # type: ignore +NVC96F_GP_ENTRY0_OPERAND = (31, 0) # type: ignore +NVC96F_GP_ENTRY0_PB_EXTENDED_BASE_OPERAND = (24, 8) # type: ignore +NVC96F_GP_ENTRY1_GET_HI = (7, 0) # type: ignore +NVC96F_GP_ENTRY1_LEVEL = (9, 9) # type: ignore NVC96F_GP_ENTRY1_LEVEL_MAIN = 0x00000000 # type: ignore NVC96F_GP_ENTRY1_LEVEL_SUBROUTINE = 0x00000001 # type: ignore +NVC96F_GP_ENTRY1_LENGTH = (30, 10) # type: ignore +NVC96F_GP_ENTRY1_SYNC = (31, 31) # type: ignore NVC96F_GP_ENTRY1_SYNC_PROCEED = 0x00000000 # type: ignore NVC96F_GP_ENTRY1_SYNC_WAIT = 0x00000001 # type: ignore +NVC96F_GP_ENTRY1_OPCODE = (7, 0) # type: ignore NVC96F_GP_ENTRY1_OPCODE_NOP = 0x00000000 # type: ignore NVC96F_GP_ENTRY1_OPCODE_ILLEGAL = 0x00000001 # type: ignore NVC96F_GP_ENTRY1_OPCODE_GP_CRC = 0x00000002 # type: ignore @@ -16150,41 +16492,66 @@ MAXWELL_PROFILER_DEVICE = (0xb2cc) # type: ignore NVB2CC_ALLOC_PARAMETERS_MESSAGE_ID = (0xb2cc) # type: ignore AMPERE_COMPUTE_A = 0xC6C0 # type: ignore NVC6C0_SET_OBJECT = 0x0000 # type: ignore +NVC6C0_SET_OBJECT_CLASS_ID = (15, 0) # type: ignore +NVC6C0_SET_OBJECT_ENGINE_ID = (20, 16) # type: ignore NVC6C0_NO_OPERATION = 0x0100 # type: ignore +NVC6C0_NO_OPERATION_V = (31, 0) # type: ignore NVC6C0_SET_NOTIFY_A = 0x0104 # type: ignore +NVC6C0_SET_NOTIFY_A_ADDRESS_UPPER = (7, 0) # type: ignore NVC6C0_SET_NOTIFY_B = 0x0108 # type: ignore +NVC6C0_SET_NOTIFY_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_NOTIFY = 0x010c # type: ignore +NVC6C0_NOTIFY_TYPE = (31, 0) # type: ignore NVC6C0_NOTIFY_TYPE_WRITE_ONLY = 0x00000000 # type: ignore NVC6C0_NOTIFY_TYPE_WRITE_THEN_AWAKEN = 0x00000001 # type: ignore NVC6C0_WAIT_FOR_IDLE = 0x0110 # type: ignore +NVC6C0_WAIT_FOR_IDLE_V = (31, 0) # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_A = 0x0130 # type: ignore +NVC6C0_SET_GLOBAL_RENDER_ENABLE_A_OFFSET_UPPER = (7, 0) # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_B = 0x0134 # type: ignore +NVC6C0_SET_GLOBAL_RENDER_ENABLE_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C = 0x0138 # type: ignore +NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE = (2, 0) # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_CONDITIONAL = 0x00000002 # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL = 0x00000003 # type: ignore NVC6C0_SET_GLOBAL_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL = 0x00000004 # type: ignore NVC6C0_SEND_GO_IDLE = 0x013c # type: ignore +NVC6C0_SEND_GO_IDLE_V = (31, 0) # type: ignore NVC6C0_PM_TRIGGER = 0x0140 # type: ignore +NVC6C0_PM_TRIGGER_V = (31, 0) # type: ignore NVC6C0_PM_TRIGGER_WFI = 0x0144 # type: ignore +NVC6C0_PM_TRIGGER_WFI_V = (31, 0) # type: ignore NVC6C0_FE_ATOMIC_SEQUENCE_BEGIN = 0x0148 # type: ignore +NVC6C0_FE_ATOMIC_SEQUENCE_BEGIN_V = (31, 0) # type: ignore NVC6C0_FE_ATOMIC_SEQUENCE_END = 0x014c # type: ignore +NVC6C0_FE_ATOMIC_SEQUENCE_END_V = (31, 0) # type: ignore NVC6C0_SET_INSTRUMENTATION_METHOD_HEADER = 0x0150 # type: ignore +NVC6C0_SET_INSTRUMENTATION_METHOD_HEADER_V = (31, 0) # type: ignore NVC6C0_SET_INSTRUMENTATION_METHOD_DATA = 0x0154 # type: ignore +NVC6C0_SET_INSTRUMENTATION_METHOD_DATA_V = (31, 0) # type: ignore NVC6C0_LINE_LENGTH_IN = 0x0180 # type: ignore +NVC6C0_LINE_LENGTH_IN_VALUE = (31, 0) # type: ignore NVC6C0_LINE_COUNT = 0x0184 # type: ignore +NVC6C0_LINE_COUNT_VALUE = (31, 0) # type: ignore NVC6C0_OFFSET_OUT_UPPER = 0x0188 # type: ignore +NVC6C0_OFFSET_OUT_UPPER_VALUE = (16, 0) # type: ignore NVC6C0_OFFSET_OUT = 0x018c # type: ignore +NVC6C0_OFFSET_OUT_VALUE = (31, 0) # type: ignore NVC6C0_PITCH_OUT = 0x0190 # type: ignore +NVC6C0_PITCH_OUT_VALUE = (31, 0) # type: ignore NVC6C0_SET_DST_BLOCK_SIZE = 0x0194 # type: ignore +NVC6C0_SET_DST_BLOCK_SIZE_WIDTH = (3, 0) # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_WIDTH_ONE_GOB = 0x00000000 # type: ignore +NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT = (7, 4) # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_ONE_GOB = 0x00000000 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_TWO_GOBS = 0x00000001 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_FOUR_GOBS = 0x00000002 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_EIGHT_GOBS = 0x00000003 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS = 0x00000004 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS = 0x00000005 # type: ignore +NVC6C0_SET_DST_BLOCK_SIZE_DEPTH = (11, 8) # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_ONE_GOB = 0x00000000 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_TWO_GOBS = 0x00000001 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_FOUR_GOBS = 0x00000002 # type: ignore @@ -16192,23 +16559,35 @@ NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_EIGHT_GOBS = 0x00000003 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS = 0x00000004 # type: ignore NVC6C0_SET_DST_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS = 0x00000005 # type: ignore NVC6C0_SET_DST_WIDTH = 0x0198 # type: ignore +NVC6C0_SET_DST_WIDTH_V = (31, 0) # type: ignore NVC6C0_SET_DST_HEIGHT = 0x019c # type: ignore +NVC6C0_SET_DST_HEIGHT_V = (31, 0) # type: ignore NVC6C0_SET_DST_DEPTH = 0x01a0 # type: ignore +NVC6C0_SET_DST_DEPTH_V = (31, 0) # type: ignore NVC6C0_SET_DST_LAYER = 0x01a4 # type: ignore +NVC6C0_SET_DST_LAYER_V = (31, 0) # type: ignore NVC6C0_SET_DST_ORIGIN_BYTES_X = 0x01a8 # type: ignore +NVC6C0_SET_DST_ORIGIN_BYTES_X_V = (20, 0) # type: ignore NVC6C0_SET_DST_ORIGIN_SAMPLES_Y = 0x01ac # type: ignore +NVC6C0_SET_DST_ORIGIN_SAMPLES_Y_V = (16, 0) # type: ignore NVC6C0_LAUNCH_DMA = 0x01b0 # type: ignore +NVC6C0_LAUNCH_DMA_DST_MEMORY_LAYOUT = (0, 0) # type: ignore NVC6C0_LAUNCH_DMA_DST_MEMORY_LAYOUT_BLOCKLINEAR = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_DST_MEMORY_LAYOUT_PITCH = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_COMPLETION_TYPE = (5, 4) # type: ignore NVC6C0_LAUNCH_DMA_COMPLETION_TYPE_FLUSH_DISABLE = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_COMPLETION_TYPE_FLUSH_ONLY = 0x00000001 # type: ignore NVC6C0_LAUNCH_DMA_COMPLETION_TYPE_RELEASE_SEMAPHORE = 0x00000002 # type: ignore +NVC6C0_LAUNCH_DMA_INTERRUPT_TYPE = (9, 8) # type: ignore NVC6C0_LAUNCH_DMA_INTERRUPT_TYPE_NONE = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_INTERRUPT_TYPE_INTERRUPT = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE = (12, 12) # type: ignore NVC6C0_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE_FOUR_WORDS = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE_ONE_WORD = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_REDUCTION_ENABLE = (1, 1) # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_REDUCTION_OP = (15, 13) # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_ADD = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_MIN = 0x00000001 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_MAX = 0x00000002 # type: ignore @@ -16217,93 +16596,164 @@ NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_DEC = 0x00000004 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_AND = 0x00000005 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_OR = 0x00000006 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_OP_RED_XOR = 0x00000007 # type: ignore +NVC6C0_LAUNCH_DMA_REDUCTION_FORMAT = (3, 2) # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_FORMAT_UNSIGNED_32 = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_REDUCTION_FORMAT_SIGNED_32 = 0x00000001 # type: ignore +NVC6C0_LAUNCH_DMA_SYSMEMBAR_DISABLE = (6, 6) # type: ignore NVC6C0_LAUNCH_DMA_SYSMEMBAR_DISABLE_FALSE = 0x00000000 # type: ignore NVC6C0_LAUNCH_DMA_SYSMEMBAR_DISABLE_TRUE = 0x00000001 # type: ignore NVC6C0_LOAD_INLINE_DATA = 0x01b4 # type: ignore +NVC6C0_LOAD_INLINE_DATA_V = (31, 0) # type: ignore NVC6C0_SET_I2M_SEMAPHORE_A = 0x01dc # type: ignore +NVC6C0_SET_I2M_SEMAPHORE_A_OFFSET_UPPER = (7, 0) # type: ignore NVC6C0_SET_I2M_SEMAPHORE_B = 0x01e0 # type: ignore +NVC6C0_SET_I2M_SEMAPHORE_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_I2M_SEMAPHORE_C = 0x01e4 # type: ignore +NVC6C0_SET_I2M_SEMAPHORE_C_PAYLOAD = (31, 0) # type: ignore NVC6C0_SET_SM_SCG_CONTROL = 0x01e8 # type: ignore +NVC6C0_SET_SM_SCG_CONTROL_COMPUTE_IN_GRAPHICS = (0, 0) # type: ignore NVC6C0_SET_SM_SCG_CONTROL_COMPUTE_IN_GRAPHICS_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SM_SCG_CONTROL_COMPUTE_IN_GRAPHICS_TRUE = 0x00000001 # type: ignore NVC6C0_SET_I2M_SPARE_NOOP00 = 0x01f0 # type: ignore +NVC6C0_SET_I2M_SPARE_NOOP00_V = (31, 0) # type: ignore NVC6C0_SET_I2M_SPARE_NOOP01 = 0x01f4 # type: ignore +NVC6C0_SET_I2M_SPARE_NOOP01_V = (31, 0) # type: ignore NVC6C0_SET_I2M_SPARE_NOOP02 = 0x01f8 # type: ignore +NVC6C0_SET_I2M_SPARE_NOOP02_V = (31, 0) # type: ignore NVC6C0_SET_I2M_SPARE_NOOP03 = 0x01fc # type: ignore +NVC6C0_SET_I2M_SPARE_NOOP03_V = (31, 0) # type: ignore NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_A = 0x0200 # type: ignore +NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_A_ADDRESS_UPPER = (7, 0) # type: ignore NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_B = 0x0204 # type: ignore +NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_C = 0x0208 # type: ignore +NVC6C0_SET_VALID_SPAN_OVERFLOW_AREA_C_SIZE = (31, 0) # type: ignore NVC6C0_PERFMON_TRANSFER = 0x0210 # type: ignore +NVC6C0_PERFMON_TRANSFER_V = (31, 0) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_BASE_A = 0x0214 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_BASE_A_ADDRESS_UPPER = (7, 0) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_BASE_B = 0x0218 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_BASE_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES = 0x021c # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_INSTRUCTION = (0, 0) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_INSTRUCTION_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_INSTRUCTION_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_DATA = (4, 4) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_DATA_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_DATA_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_CONSTANT = (12, 12) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_CONSTANT_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_CONSTANT_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_LOCKS = (1, 1) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_LOCKS_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_LOCKS_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_FLUSH_DATA = (2, 2) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_FLUSH_DATA_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_FLUSH_DATA_TRUE = 0x00000001 # type: ignore NVC6C0_SET_RESERVED_SW_METHOD00 = 0x0220 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD00_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD01 = 0x0224 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD01_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD02 = 0x0228 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD02_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD03 = 0x022c # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD03_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD04 = 0x0230 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD04_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD05 = 0x0234 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD05_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD06 = 0x0238 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD06_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD07 = 0x023c # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD07_V = (31, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI = 0x0244 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_TAG = (25, 4) # type: ignore NVC6C0_SET_CWD_REF_COUNTER = 0x0248 # type: ignore +NVC6C0_SET_CWD_REF_COUNTER_SELECT = (5, 0) # type: ignore +NVC6C0_SET_CWD_REF_COUNTER_VALUE = (23, 8) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD08 = 0x024c # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD08_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD09 = 0x0250 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD09_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD10 = 0x0254 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD10_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD11 = 0x0258 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD11_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD12 = 0x025c # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD12_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD13 = 0x0260 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD13_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD14 = 0x0264 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD14_V = (31, 0) # type: ignore NVC6C0_SET_RESERVED_SW_METHOD15 = 0x0268 # type: ignore +NVC6C0_SET_RESERVED_SW_METHOD15_V = (31, 0) # type: ignore NVC6C0_SET_SCG_CONTROL = 0x0270 # type: ignore +NVC6C0_SET_SCG_CONTROL_COMPUTE1_MAX_SM_COUNT = (8, 0) # type: ignore +NVC6C0_SET_SCG_CONTROL_COMPUTE1_MIN_SM_COUNT = (20, 12) # type: ignore +NVC6C0_SET_SCG_CONTROL_DISABLE_COMPUTE1_LIMIT_IN_ALL_COMPUTE = (24, 24) # type: ignore NVC6C0_SET_SCG_CONTROL_DISABLE_COMPUTE1_LIMIT_IN_ALL_COMPUTE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SCG_CONTROL_DISABLE_COMPUTE1_LIMIT_IN_ALL_COMPUTE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_COMPUTE_CLASS_VERSION = 0x0280 # type: ignore +NVC6C0_SET_COMPUTE_CLASS_VERSION_CURRENT = (15, 0) # type: ignore +NVC6C0_SET_COMPUTE_CLASS_VERSION_OLDEST_SUPPORTED = (31, 16) # type: ignore NVC6C0_CHECK_COMPUTE_CLASS_VERSION = 0x0284 # type: ignore +NVC6C0_CHECK_COMPUTE_CLASS_VERSION_CURRENT = (15, 0) # type: ignore +NVC6C0_CHECK_COMPUTE_CLASS_VERSION_OLDEST_SUPPORTED = (31, 16) # type: ignore NVC6C0_SET_QMD_VERSION = 0x0288 # type: ignore +NVC6C0_SET_QMD_VERSION_CURRENT = (15, 0) # type: ignore +NVC6C0_SET_QMD_VERSION_OLDEST_SUPPORTED = (31, 16) # type: ignore NVC6C0_CHECK_QMD_VERSION = 0x0290 # type: ignore +NVC6C0_CHECK_QMD_VERSION_CURRENT = (15, 0) # type: ignore +NVC6C0_CHECK_QMD_VERSION_OLDEST_SUPPORTED = (31, 16) # type: ignore NVC6C0_INVALIDATE_SKED_CACHES = 0x0298 # type: ignore +NVC6C0_INVALIDATE_SKED_CACHES_V = (0, 0) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL = 0x029c # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_CONSTANT_BUFFER_MASK = (7, 0) # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_ADDR_ENABLE = (8, 8) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_ADDR_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_ADDR_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_CONSTANT_BUFFER_ENABLE = (12, 12) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_CONSTANT_BUFFER_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_I2M_CONSTANT_BUFFER_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_ADDR_ENABLE = (16, 16) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_ADDR_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_ADDR_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_CONSTANT_BUFFER_ENABLE = (20, 20) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_CONSTANT_BUFFER_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_IQ2M_CONSTANT_BUFFER_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_SEND_PCAS_ENABLE = (24, 24) # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_SEND_PCAS_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_QMD_VIRTUALIZATION_CONTROL_SEND_PCAS_ENABLE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_SHADER_SHARED_MEMORY_WINDOW_A = 0x02a0 # type: ignore +NVC6C0_SET_SHADER_SHARED_MEMORY_WINDOW_A_BASE_ADDRESS_UPPER = (16, 0) # type: ignore NVC6C0_SET_SHADER_SHARED_MEMORY_WINDOW_B = 0x02a4 # type: ignore +NVC6C0_SET_SHADER_SHARED_MEMORY_WINDOW_B_BASE_ADDRESS = (31, 0) # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL = 0x02a8 # type: ignore +NVC6C0_SCG_HYSTERESIS_CONTROL_USE_TIMEOUT_ONCE = (0, 0) # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL_USE_TIMEOUT_ONCE_FALSE = 0x00000000 # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL_USE_TIMEOUT_ONCE_TRUE = 0x00000001 # type: ignore +NVC6C0_SCG_HYSTERESIS_CONTROL_USE_NULL_TIMEOUT_ONCE = (1, 1) # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL_USE_NULL_TIMEOUT_ONCE_FALSE = 0x00000000 # type: ignore NVC6C0_SCG_HYSTERESIS_CONTROL_USE_NULL_TIMEOUT_ONCE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_CWD_SLOT_COUNT = 0x02b0 # type: ignore +NVC6C0_SET_CWD_SLOT_COUNT_V = (7, 0) # type: ignore NVC6C0_SEND_PCAS_A = 0x02b4 # type: ignore +NVC6C0_SEND_PCAS_A_QMD_ADDRESS_SHIFTED8 = (31, 0) # type: ignore NVC6C0_SEND_PCAS_B = 0x02b8 # type: ignore +NVC6C0_SEND_PCAS_B_FROM = (23, 0) # type: ignore +NVC6C0_SEND_PCAS_B_DELTA = (31, 24) # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B = 0x02bc # type: ignore +NVC6C0_SEND_SIGNALING_PCAS_B_INVALIDATE = (0, 0) # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B_INVALIDATE_FALSE = 0x00000000 # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B_INVALIDATE_TRUE = 0x00000001 # type: ignore +NVC6C0_SEND_SIGNALING_PCAS_B_SCHEDULE = (1, 1) # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B_SCHEDULE_FALSE = 0x00000000 # type: ignore NVC6C0_SEND_SIGNALING_PCAS_B_SCHEDULE_TRUE = 0x00000001 # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B = 0x02c0 # type: ignore +NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION = (3, 0) # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_NOP = 0x00000000 # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_INVALIDATE = 0x00000001 # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_SCHEDULE = 0x00000002 # type: ignore @@ -16315,105 +16765,176 @@ NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_PREFETCH_SCHEDULE = 0x00000009 # type: NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_INVALIDATE_PREFETCH_COPY_SCHEDULE = 0x0000000A # type: ignore NVC6C0_SEND_SIGNALING_PCAS2_B_PCAS_ACTION_INVALIDATE_PREFETCH_COPY_FORCE_REQUIRE_SCHEDULING = 0x0000000B # type: ignore NVC6C0_SET_SKED_CACHE_CONTROL = 0x02cc # type: ignore +NVC6C0_SET_SKED_CACHE_CONTROL_IGNORE_VEID = (0, 0) # type: ignore NVC6C0_SET_SKED_CACHE_CONTROL_IGNORE_VEID_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SKED_CACHE_CONTROL_IGNORE_VEID_TRUE = 0x00000001 # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_A = 0x02e4 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_A_SIZE_UPPER = (7, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_B = 0x02e8 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_B_SIZE_LOWER = (31, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_C = 0x02ec # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_NON_THROTTLED_C_MAX_SM_COUNT = (8, 0) # type: ignore NVC6C0_SET_SPA_VERSION = 0x0310 # type: ignore +NVC6C0_SET_SPA_VERSION_MINOR = (7, 0) # type: ignore +NVC6C0_SET_SPA_VERSION_MAJOR = (15, 8) # type: ignore NVC6C0_SET_INLINE_QMD_ADDRESS_A = 0x0318 # type: ignore +NVC6C0_SET_INLINE_QMD_ADDRESS_A_QMD_ADDRESS_SHIFTED8_UPPER = (31, 0) # type: ignore NVC6C0_SET_INLINE_QMD_ADDRESS_B = 0x031c # type: ignore +NVC6C0_SET_INLINE_QMD_ADDRESS_B_QMD_ADDRESS_SHIFTED8_LOWER = (31, 0) # type: ignore NVC6C0_LOAD_INLINE_QMD_DATA = lambda i: (0x0320+(i)*4) # type: ignore +NVC6C0_LOAD_INLINE_QMD_DATA_V = (31, 0) # type: ignore NVC6C0_SET_FALCON00 = 0x0500 # type: ignore +NVC6C0_SET_FALCON00_V = (31, 0) # type: ignore NVC6C0_SET_FALCON01 = 0x0504 # type: ignore +NVC6C0_SET_FALCON01_V = (31, 0) # type: ignore NVC6C0_SET_FALCON02 = 0x0508 # type: ignore +NVC6C0_SET_FALCON02_V = (31, 0) # type: ignore NVC6C0_SET_FALCON03 = 0x050c # type: ignore +NVC6C0_SET_FALCON03_V = (31, 0) # type: ignore NVC6C0_SET_FALCON04 = 0x0510 # type: ignore +NVC6C0_SET_FALCON04_V = (31, 0) # type: ignore NVC6C0_SET_FALCON05 = 0x0514 # type: ignore +NVC6C0_SET_FALCON05_V = (31, 0) # type: ignore NVC6C0_SET_FALCON06 = 0x0518 # type: ignore +NVC6C0_SET_FALCON06_V = (31, 0) # type: ignore NVC6C0_SET_FALCON07 = 0x051c # type: ignore +NVC6C0_SET_FALCON07_V = (31, 0) # type: ignore NVC6C0_SET_FALCON08 = 0x0520 # type: ignore +NVC6C0_SET_FALCON08_V = (31, 0) # type: ignore NVC6C0_SET_FALCON09 = 0x0524 # type: ignore +NVC6C0_SET_FALCON09_V = (31, 0) # type: ignore NVC6C0_SET_FALCON10 = 0x0528 # type: ignore +NVC6C0_SET_FALCON10_V = (31, 0) # type: ignore NVC6C0_SET_FALCON11 = 0x052c # type: ignore +NVC6C0_SET_FALCON11_V = (31, 0) # type: ignore NVC6C0_SET_FALCON12 = 0x0530 # type: ignore +NVC6C0_SET_FALCON12_V = (31, 0) # type: ignore NVC6C0_SET_FALCON13 = 0x0534 # type: ignore +NVC6C0_SET_FALCON13_V = (31, 0) # type: ignore NVC6C0_SET_FALCON14 = 0x0538 # type: ignore +NVC6C0_SET_FALCON14_V = (31, 0) # type: ignore NVC6C0_SET_FALCON15 = 0x053c # type: ignore +NVC6C0_SET_FALCON15_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_A = 0x0790 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_A_ADDRESS_UPPER = (16, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_B = 0x0794 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_WINDOW_A = 0x07b0 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_WINDOW_A_BASE_ADDRESS_UPPER = (16, 0) # type: ignore NVC6C0_SET_SHADER_LOCAL_MEMORY_WINDOW_B = 0x07b4 # type: ignore +NVC6C0_SET_SHADER_LOCAL_MEMORY_WINDOW_B_BASE_ADDRESS = (31, 0) # type: ignore NVC6C0_SET_SHADER_CACHE_CONTROL = 0x0d94 # type: ignore +NVC6C0_SET_SHADER_CACHE_CONTROL_ICACHE_PREFETCH_ENABLE = (0, 0) # type: ignore NVC6C0_SET_SHADER_CACHE_CONTROL_ICACHE_PREFETCH_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SHADER_CACHE_CONTROL_ICACHE_PREFETCH_ENABLE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_SCG_COMPUTE_SCHEDULING_PARAMETERS = lambda i: (0x0da0+(i)*4) # type: ignore +NVC6C0_SET_SCG_COMPUTE_SCHEDULING_PARAMETERS_V = (31, 0) # type: ignore NVC6C0_SET_SM_TIMEOUT_INTERVAL = 0x0de4 # type: ignore +NVC6C0_SET_SM_TIMEOUT_INTERVAL_COUNTER_BIT = (5, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI = 0x1288 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_TAG = (25, 4) # type: ignore NVC6C0_ACTIVATE_PERF_SETTINGS_FOR_COMPUTE_CONTEXT = 0x12a8 # type: ignore +NVC6C0_ACTIVATE_PERF_SETTINGS_FOR_COMPUTE_CONTEXT_ALL = (0, 0) # type: ignore NVC6C0_ACTIVATE_PERF_SETTINGS_FOR_COMPUTE_CONTEXT_ALL_FALSE = 0x00000000 # type: ignore NVC6C0_ACTIVATE_PERF_SETTINGS_FOR_COMPUTE_CONTEXT_ALL_TRUE = 0x00000001 # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE = 0x1330 # type: ignore +NVC6C0_INVALIDATE_SAMPLER_CACHE_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SAMPLER_CACHE_TAG = (25, 4) # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE = 0x1334 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_HEADER_CACHE_TAG = (25, 4) # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE = 0x1338 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_TEXTURE_DATA_CACHE_TAG = (25, 4) # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI = 0x1424 # type: ignore +NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI_LINES = (0, 0) # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI_LINES_ALL = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI_LINES_ONE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SAMPLER_CACHE_NO_WFI_TAG = (25, 4) # type: ignore NVC6C0_SET_SHADER_EXCEPTIONS = 0x1528 # type: ignore +NVC6C0_SET_SHADER_EXCEPTIONS_ENABLE = (0, 0) # type: ignore NVC6C0_SET_SHADER_EXCEPTIONS_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_SHADER_EXCEPTIONS_ENABLE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_RENDER_ENABLE_A = 0x1550 # type: ignore +NVC6C0_SET_RENDER_ENABLE_A_OFFSET_UPPER = (7, 0) # type: ignore NVC6C0_SET_RENDER_ENABLE_B = 0x1554 # type: ignore +NVC6C0_SET_RENDER_ENABLE_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_RENDER_ENABLE_C = 0x1558 # type: ignore +NVC6C0_SET_RENDER_ENABLE_C_MODE = (2, 0) # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_TRUE = 0x00000001 # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_CONDITIONAL = 0x00000002 # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL = 0x00000003 # type: ignore NVC6C0_SET_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL = 0x00000004 # type: ignore NVC6C0_SET_TEX_SAMPLER_POOL_A = 0x155c # type: ignore +NVC6C0_SET_TEX_SAMPLER_POOL_A_OFFSET_UPPER = (16, 0) # type: ignore NVC6C0_SET_TEX_SAMPLER_POOL_B = 0x1560 # type: ignore +NVC6C0_SET_TEX_SAMPLER_POOL_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_TEX_SAMPLER_POOL_C = 0x1564 # type: ignore +NVC6C0_SET_TEX_SAMPLER_POOL_C_MAXIMUM_INDEX = (19, 0) # type: ignore NVC6C0_SET_TEX_HEADER_POOL_A = 0x1574 # type: ignore +NVC6C0_SET_TEX_HEADER_POOL_A_OFFSET_UPPER = (16, 0) # type: ignore NVC6C0_SET_TEX_HEADER_POOL_B = 0x1578 # type: ignore +NVC6C0_SET_TEX_HEADER_POOL_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_TEX_HEADER_POOL_C = 0x157c # type: ignore +NVC6C0_SET_TEX_HEADER_POOL_C_MAXIMUM_INDEX = (21, 0) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI = 0x1698 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_INSTRUCTION = (0, 0) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_INSTRUCTION_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_INSTRUCTION_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_GLOBAL_DATA = (4, 4) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_GLOBAL_DATA_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_GLOBAL_DATA_TRUE = 0x00000001 # type: ignore +NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_CONSTANT = (12, 12) # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_CONSTANT_FALSE = 0x00000000 # type: ignore NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI_CONSTANT_TRUE = 0x00000001 # type: ignore NVC6C0_SET_RENDER_ENABLE_OVERRIDE = 0x1944 # type: ignore +NVC6C0_SET_RENDER_ENABLE_OVERRIDE_MODE = (1, 0) # type: ignore NVC6C0_SET_RENDER_ENABLE_OVERRIDE_MODE_USE_RENDER_ENABLE = 0x00000000 # type: ignore NVC6C0_SET_RENDER_ENABLE_OVERRIDE_MODE_ALWAYS_RENDER = 0x00000001 # type: ignore NVC6C0_SET_RENDER_ENABLE_OVERRIDE_MODE_NEVER_RENDER = 0x00000002 # type: ignore NVC6C0_PIPE_NOP = 0x1a2c # type: ignore +NVC6C0_PIPE_NOP_V = (31, 0) # type: ignore NVC6C0_SET_SPARE00 = 0x1a30 # type: ignore +NVC6C0_SET_SPARE00_V = (31, 0) # type: ignore NVC6C0_SET_SPARE01 = 0x1a34 # type: ignore +NVC6C0_SET_SPARE01_V = (31, 0) # type: ignore NVC6C0_SET_SPARE02 = 0x1a38 # type: ignore +NVC6C0_SET_SPARE02_V = (31, 0) # type: ignore NVC6C0_SET_SPARE03 = 0x1a3c # type: ignore +NVC6C0_SET_SPARE03_V = (31, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_A = 0x1b00 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_A_OFFSET_UPPER = (7, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_B = 0x1b04 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_B_OFFSET_LOWER = (31, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_C = 0x1b08 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_C_PAYLOAD = (31, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D = 0x1b0c # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_OPERATION = (1, 0) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_OPERATION_RELEASE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_OPERATION_TRAP = 0x00000003 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_AWAKEN_ENABLE = (20, 20) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_AWAKEN_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_AWAKEN_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_STRUCTURE_SIZE = (28, 28) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_STRUCTURE_SIZE_FOUR_WORDS = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_STRUCTURE_SIZE_ONE_WORD = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_FLUSH_DISABLE = (2, 2) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_FLUSH_DISABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_FLUSH_DISABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_ENABLE = (3, 3) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_ENABLE_FALSE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_ENABLE_TRUE = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP = (11, 9) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_ADD = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_MIN = 0x00000001 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_MAX = 0x00000002 # type: ignore @@ -16422,82 +16943,146 @@ NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_DEC = 0x00000004 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_AND = 0x00000005 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_OR = 0x00000006 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_XOR = 0x00000007 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_FORMAT = (18, 17) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_FORMAT_UNSIGNED_32 = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_REDUCTION_FORMAT_SIGNED_32 = 0x00000001 # type: ignore +NVC6C0_SET_REPORT_SEMAPHORE_D_CONDITIONAL_TRAP = (19, 19) # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_CONDITIONAL_TRAP_FALSE = 0x00000000 # type: ignore NVC6C0_SET_REPORT_SEMAPHORE_D_CONDITIONAL_TRAP_TRUE = 0x00000001 # type: ignore NVC6C0_SET_TRAP_HANDLER_A = 0x25f8 # type: ignore +NVC6C0_SET_TRAP_HANDLER_A_ADDRESS_UPPER = (16, 0) # type: ignore NVC6C0_SET_TRAP_HANDLER_B = 0x25fc # type: ignore +NVC6C0_SET_TRAP_HANDLER_B_ADDRESS_LOWER = (31, 0) # type: ignore NVC6C0_SET_BINDLESS_TEXTURE = 0x2608 # type: ignore +NVC6C0_SET_BINDLESS_TEXTURE_CONSTANT_BUFFER_SLOT_SELECT = (2, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE = lambda i: (0x32f4+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE_UPPER = lambda i: (0x3314+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE_UPPER_V = (31, 0) # type: ignore NVC6C0_ENABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER = 0x3334 # type: ignore +NVC6C0_ENABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_V = (0, 0) # type: ignore NVC6C0_DISABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER = 0x3338 # type: ignore +NVC6C0_DISABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_V = (0, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_VALUE_UPPER = lambda i: (0x333c+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_VALUE_UPPER_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_VALUE = lambda i: (0x335c+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_VALUE_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_EVENT = lambda i: (0x337c+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_EVENT_EVENT = (7, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A = lambda i: (0x339c+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT0 = (1, 0) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT0 = (4, 2) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT1 = (6, 5) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT1 = (9, 7) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT2 = (11, 10) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT2 = (14, 12) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT3 = (16, 15) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT3 = (19, 17) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT4 = (21, 20) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT4 = (24, 22) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT5 = (26, 25) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT5 = (29, 27) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_SPARE = (31, 30) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B = lambda i: (0x33bc+(i)*4) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_EDGE = (0, 0) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_MODE = (2, 1) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_WINDOWED = (3, 3) # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_FUNC = (19, 4) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_TRAP_CONTROL = 0x33dc # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_TRAP_CONTROL_MASK = (7, 0) # type: ignore NVC6C0_START_SHADER_PERFORMANCE_COUNTER = 0x33e0 # type: ignore +NVC6C0_START_SHADER_PERFORMANCE_COUNTER_COUNTER_MASK = (7, 0) # type: ignore NVC6C0_STOP_SHADER_PERFORMANCE_COUNTER = 0x33e4 # type: ignore +NVC6C0_STOP_SHADER_PERFORMANCE_COUNTER_COUNTER_MASK = (7, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_SCTL_FILTER = 0x33e8 # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_SCTL_FILTER_V = (31, 0) # type: ignore NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CORE_MIO_FILTER = 0x33ec # type: ignore +NVC6C0_SET_SHADER_PERFORMANCE_COUNTER_CORE_MIO_FILTER_V = (31, 0) # type: ignore NVC6C0_SET_MME_SHADOW_SCRATCH = lambda i: (0x3400+(i)*4) # type: ignore +NVC6C0_SET_MME_SHADOW_SCRATCH_V = (31, 0) # type: ignore BLACKWELL_COMPUTE_A = 0xCDC0 # type: ignore AMPERE_DMA_COPY_A = (0x0000C6B5) # type: ignore NVC6B5_NOP = (0x00000100) # type: ignore +NVC6B5_NOP_PARAMETER = (31, 0) # type: ignore NVC6B5_PM_TRIGGER = (0x00000140) # type: ignore +NVC6B5_PM_TRIGGER_V = (31, 0) # type: ignore NVC6B5_SET_SEMAPHORE_A = (0x00000240) # type: ignore +NVC6B5_SET_SEMAPHORE_A_UPPER = (16, 0) # type: ignore NVC6B5_SET_SEMAPHORE_B = (0x00000244) # type: ignore +NVC6B5_SET_SEMAPHORE_B_LOWER = (31, 0) # type: ignore NVC6B5_SET_SEMAPHORE_PAYLOAD = (0x00000248) # type: ignore +NVC6B5_SET_SEMAPHORE_PAYLOAD_PAYLOAD = (31, 0) # type: ignore NVC6B5_SET_RENDER_ENABLE_A = (0x00000254) # type: ignore +NVC6B5_SET_RENDER_ENABLE_A_UPPER = (7, 0) # type: ignore NVC6B5_SET_RENDER_ENABLE_B = (0x00000258) # type: ignore +NVC6B5_SET_RENDER_ENABLE_B_LOWER = (31, 0) # type: ignore NVC6B5_SET_RENDER_ENABLE_C = (0x0000025C) # type: ignore +NVC6B5_SET_RENDER_ENABLE_C_MODE = (2, 0) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_FALSE = (0x00000000) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_TRUE = (0x00000001) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_CONDITIONAL = (0x00000002) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL = (0x00000003) # type: ignore NVC6B5_SET_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL = (0x00000004) # type: ignore NVC6B5_SET_SRC_PHYS_MODE = (0x00000260) # type: ignore +NVC6B5_SET_SRC_PHYS_MODE_TARGET = (1, 0) # type: ignore NVC6B5_SET_SRC_PHYS_MODE_TARGET_LOCAL_FB = (0x00000000) # type: ignore NVC6B5_SET_SRC_PHYS_MODE_TARGET_COHERENT_SYSMEM = (0x00000001) # type: ignore NVC6B5_SET_SRC_PHYS_MODE_TARGET_NONCOHERENT_SYSMEM = (0x00000002) # type: ignore NVC6B5_SET_SRC_PHYS_MODE_TARGET_PEERMEM = (0x00000003) # type: ignore +NVC6B5_SET_SRC_PHYS_MODE_BASIC_KIND = (5, 2) # type: ignore +NVC6B5_SET_SRC_PHYS_MODE_PEER_ID = (8, 6) # type: ignore +NVC6B5_SET_SRC_PHYS_MODE_FLA = (9, 9) # type: ignore NVC6B5_SET_DST_PHYS_MODE = (0x00000264) # type: ignore +NVC6B5_SET_DST_PHYS_MODE_TARGET = (1, 0) # type: ignore NVC6B5_SET_DST_PHYS_MODE_TARGET_LOCAL_FB = (0x00000000) # type: ignore NVC6B5_SET_DST_PHYS_MODE_TARGET_COHERENT_SYSMEM = (0x00000001) # type: ignore NVC6B5_SET_DST_PHYS_MODE_TARGET_NONCOHERENT_SYSMEM = (0x00000002) # type: ignore NVC6B5_SET_DST_PHYS_MODE_TARGET_PEERMEM = (0x00000003) # type: ignore +NVC6B5_SET_DST_PHYS_MODE_BASIC_KIND = (5, 2) # type: ignore +NVC6B5_SET_DST_PHYS_MODE_PEER_ID = (8, 6) # type: ignore +NVC6B5_SET_DST_PHYS_MODE_FLA = (9, 9) # type: ignore NVC6B5_LAUNCH_DMA = (0x00000300) # type: ignore +NVC6B5_LAUNCH_DMA_DATA_TRANSFER_TYPE = (1, 0) # type: ignore NVC6B5_LAUNCH_DMA_DATA_TRANSFER_TYPE_NONE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_DATA_TRANSFER_TYPE_PIPELINED = (0x00000001) # type: ignore NVC6B5_LAUNCH_DMA_DATA_TRANSFER_TYPE_NON_PIPELINED = (0x00000002) # type: ignore +NVC6B5_LAUNCH_DMA_FLUSH_ENABLE = (2, 2) # type: ignore NVC6B5_LAUNCH_DMA_FLUSH_ENABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_FLUSH_ENABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_FLUSH_TYPE = (25, 25) # type: ignore NVC6B5_LAUNCH_DMA_FLUSH_TYPE_SYS = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_FLUSH_TYPE_GL = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE = (4, 3) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE_NONE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_ONE_WORD_SEMAPHORE = (0x00000001) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_FOUR_WORD_SEMAPHORE = (0x00000002) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_TYPE_RELEASE_CONDITIONAL_INTR_SEMAPHORE = (0x00000003) # type: ignore +NVC6B5_LAUNCH_DMA_INTERRUPT_TYPE = (6, 5) # type: ignore NVC6B5_LAUNCH_DMA_INTERRUPT_TYPE_NONE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_INTERRUPT_TYPE_BLOCKING = (0x00000001) # type: ignore NVC6B5_LAUNCH_DMA_INTERRUPT_TYPE_NON_BLOCKING = (0x00000002) # type: ignore +NVC6B5_LAUNCH_DMA_SRC_MEMORY_LAYOUT = (7, 7) # type: ignore NVC6B5_LAUNCH_DMA_SRC_MEMORY_LAYOUT_BLOCKLINEAR = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SRC_MEMORY_LAYOUT_PITCH = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_DST_MEMORY_LAYOUT = (8, 8) # type: ignore NVC6B5_LAUNCH_DMA_DST_MEMORY_LAYOUT_BLOCKLINEAR = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_DST_MEMORY_LAYOUT_PITCH = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_MULTI_LINE_ENABLE = (9, 9) # type: ignore NVC6B5_LAUNCH_DMA_MULTI_LINE_ENABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_MULTI_LINE_ENABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_REMAP_ENABLE = (10, 10) # type: ignore NVC6B5_LAUNCH_DMA_REMAP_ENABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_REMAP_ENABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_FORCE_RMWDISABLE = (11, 11) # type: ignore NVC6B5_LAUNCH_DMA_FORCE_RMWDISABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_FORCE_RMWDISABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_SRC_TYPE = (12, 12) # type: ignore NVC6B5_LAUNCH_DMA_SRC_TYPE_VIRTUAL = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SRC_TYPE_PHYSICAL = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_DST_TYPE = (13, 13) # type: ignore NVC6B5_LAUNCH_DMA_DST_TYPE_VIRTUAL = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_DST_TYPE_PHYSICAL = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION = (17, 14) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IMIN = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IMAX = (0x00000001) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IXOR = (0x00000002) # type: ignore @@ -16507,25 +17092,42 @@ NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_IADD = (0x00000005) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_INC = (0x00000006) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_DEC = (0x00000007) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_FADD = (0x0000000A) # type: ignore +NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_SIGN = (18, 18) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_SIGN_SIGNED = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_SIGN_UNSIGNED = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_ENABLE = (19, 19) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_ENABLE_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_SEMAPHORE_REDUCTION_ENABLE_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_VPRMODE = (23, 22) # type: ignore NVC6B5_LAUNCH_DMA_VPRMODE_VPR_NONE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_VPRMODE_VPR_VID2VID = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_RESERVED_START_OF_COPY = (24, 24) # type: ignore +NVC6B5_LAUNCH_DMA_DISABLE_PLC = (26, 26) # type: ignore NVC6B5_LAUNCH_DMA_DISABLE_PLC_FALSE = (0x00000000) # type: ignore NVC6B5_LAUNCH_DMA_DISABLE_PLC_TRUE = (0x00000001) # type: ignore +NVC6B5_LAUNCH_DMA_RESERVED_ERR_CODE = (31, 28) # type: ignore NVC6B5_OFFSET_IN_UPPER = (0x00000400) # type: ignore +NVC6B5_OFFSET_IN_UPPER_UPPER = (16, 0) # type: ignore NVC6B5_OFFSET_IN_LOWER = (0x00000404) # type: ignore +NVC6B5_OFFSET_IN_LOWER_VALUE = (31, 0) # type: ignore NVC6B5_OFFSET_OUT_UPPER = (0x00000408) # type: ignore +NVC6B5_OFFSET_OUT_UPPER_UPPER = (16, 0) # type: ignore NVC6B5_OFFSET_OUT_LOWER = (0x0000040C) # type: ignore +NVC6B5_OFFSET_OUT_LOWER_VALUE = (31, 0) # type: ignore NVC6B5_PITCH_IN = (0x00000410) # type: ignore +NVC6B5_PITCH_IN_VALUE = (31, 0) # type: ignore NVC6B5_PITCH_OUT = (0x00000414) # type: ignore +NVC6B5_PITCH_OUT_VALUE = (31, 0) # type: ignore NVC6B5_LINE_LENGTH_IN = (0x00000418) # type: ignore +NVC6B5_LINE_LENGTH_IN_VALUE = (31, 0) # type: ignore NVC6B5_LINE_COUNT = (0x0000041C) # type: ignore +NVC6B5_LINE_COUNT_VALUE = (31, 0) # type: ignore NVC6B5_SET_REMAP_CONST_A = (0x00000700) # type: ignore +NVC6B5_SET_REMAP_CONST_A_V = (31, 0) # type: ignore NVC6B5_SET_REMAP_CONST_B = (0x00000704) # type: ignore +NVC6B5_SET_REMAP_CONST_B_V = (31, 0) # type: ignore NVC6B5_SET_REMAP_COMPONENTS = (0x00000708) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_DST_X = (2, 0) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_SRC_X = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_SRC_Y = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_SRC_Z = (0x00000002) # type: ignore @@ -16533,6 +17135,7 @@ NVC6B5_SET_REMAP_COMPONENTS_DST_X_SRC_W = (0x00000003) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_CONST_A = (0x00000004) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_CONST_B = (0x00000005) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_X_NO_WRITE = (0x00000006) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_DST_Y = (6, 4) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_SRC_X = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_SRC_Y = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_SRC_Z = (0x00000002) # type: ignore @@ -16540,6 +17143,7 @@ NVC6B5_SET_REMAP_COMPONENTS_DST_Y_SRC_W = (0x00000003) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_CONST_A = (0x00000004) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_CONST_B = (0x00000005) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Y_NO_WRITE = (0x00000006) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_DST_Z = (10, 8) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_SRC_X = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_SRC_Y = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_SRC_Z = (0x00000002) # type: ignore @@ -16547,6 +17151,7 @@ NVC6B5_SET_REMAP_COMPONENTS_DST_Z_SRC_W = (0x00000003) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_CONST_A = (0x00000004) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_CONST_B = (0x00000005) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_Z_NO_WRITE = (0x00000006) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_DST_W = (14, 12) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_SRC_X = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_SRC_Y = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_SRC_Z = (0x00000002) # type: ignore @@ -16554,63 +17159,91 @@ NVC6B5_SET_REMAP_COMPONENTS_DST_W_SRC_W = (0x00000003) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_CONST_A = (0x00000004) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_CONST_B = (0x00000005) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_DST_W_NO_WRITE = (0x00000006) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE = (17, 16) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_ONE = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_TWO = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_THREE = (0x00000002) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_COMPONENT_SIZE_FOUR = (0x00000003) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS = (21, 20) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_ONE = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_TWO = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_THREE = (0x00000002) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_SRC_COMPONENTS_FOUR = (0x00000003) # type: ignore +NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS = (25, 24) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_ONE = (0x00000000) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_TWO = (0x00000001) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_THREE = (0x00000002) # type: ignore NVC6B5_SET_REMAP_COMPONENTS_NUM_DST_COMPONENTS_FOUR = (0x00000003) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE = (0x0000070C) # type: ignore +NVC6B5_SET_DST_BLOCK_SIZE_WIDTH = (3, 0) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_WIDTH_ONE_GOB = (0x00000000) # type: ignore +NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT = (7, 4) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_ONE_GOB = (0x00000000) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_TWO_GOBS = (0x00000001) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_FOUR_GOBS = (0x00000002) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_EIGHT_GOBS = (0x00000003) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC6B5_SET_DST_BLOCK_SIZE_DEPTH = (11, 8) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_ONE_GOB = (0x00000000) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_TWO_GOBS = (0x00000001) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_FOUR_GOBS = (0x00000002) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_EIGHT_GOBS = (0x00000003) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC6B5_SET_DST_BLOCK_SIZE_GOB_HEIGHT = (15, 12) # type: ignore NVC6B5_SET_DST_BLOCK_SIZE_GOB_HEIGHT_GOB_HEIGHT_FERMI_8 = (0x00000001) # type: ignore NVC6B5_SET_DST_WIDTH = (0x00000710) # type: ignore +NVC6B5_SET_DST_WIDTH_V = (31, 0) # type: ignore NVC6B5_SET_DST_HEIGHT = (0x00000714) # type: ignore +NVC6B5_SET_DST_HEIGHT_V = (31, 0) # type: ignore NVC6B5_SET_DST_DEPTH = (0x00000718) # type: ignore +NVC6B5_SET_DST_DEPTH_V = (31, 0) # type: ignore NVC6B5_SET_DST_LAYER = (0x0000071C) # type: ignore +NVC6B5_SET_DST_LAYER_V = (31, 0) # type: ignore NVC6B5_SET_DST_ORIGIN = (0x00000720) # type: ignore +NVC6B5_SET_DST_ORIGIN_X = (15, 0) # type: ignore +NVC6B5_SET_DST_ORIGIN_Y = (31, 16) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE = (0x00000728) # type: ignore +NVC6B5_SET_SRC_BLOCK_SIZE_WIDTH = (3, 0) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_WIDTH_ONE_GOB = (0x00000000) # type: ignore +NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT = (7, 4) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_ONE_GOB = (0x00000000) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_TWO_GOBS = (0x00000001) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_FOUR_GOBS = (0x00000002) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_EIGHT_GOBS = (0x00000003) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH = (11, 8) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_ONE_GOB = (0x00000000) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_TWO_GOBS = (0x00000001) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_FOUR_GOBS = (0x00000002) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_EIGHT_GOBS = (0x00000003) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS = (0x00000004) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS = (0x00000005) # type: ignore +NVC6B5_SET_SRC_BLOCK_SIZE_GOB_HEIGHT = (15, 12) # type: ignore NVC6B5_SET_SRC_BLOCK_SIZE_GOB_HEIGHT_GOB_HEIGHT_FERMI_8 = (0x00000001) # type: ignore NVC6B5_SET_SRC_WIDTH = (0x0000072C) # type: ignore +NVC6B5_SET_SRC_WIDTH_V = (31, 0) # type: ignore NVC6B5_SET_SRC_HEIGHT = (0x00000730) # type: ignore +NVC6B5_SET_SRC_HEIGHT_V = (31, 0) # type: ignore NVC6B5_SET_SRC_DEPTH = (0x00000734) # type: ignore +NVC6B5_SET_SRC_DEPTH_V = (31, 0) # type: ignore NVC6B5_SET_SRC_LAYER = (0x00000738) # type: ignore +NVC6B5_SET_SRC_LAYER_V = (31, 0) # type: ignore NVC6B5_SET_SRC_ORIGIN = (0x0000073C) # type: ignore +NVC6B5_SET_SRC_ORIGIN_X = (15, 0) # type: ignore +NVC6B5_SET_SRC_ORIGIN_Y = (31, 16) # type: ignore NVC6B5_SRC_ORIGIN_X = (0x00000744) # type: ignore +NVC6B5_SRC_ORIGIN_X_VALUE = (31, 0) # type: ignore NVC6B5_SRC_ORIGIN_Y = (0x00000748) # type: ignore +NVC6B5_SRC_ORIGIN_Y_VALUE = (31, 0) # type: ignore NVC6B5_DST_ORIGIN_X = (0x0000074C) # type: ignore +NVC6B5_DST_ORIGIN_X_VALUE = (31, 0) # type: ignore NVC6B5_DST_ORIGIN_Y = (0x00000750) # type: ignore +NVC6B5_DST_ORIGIN_Y_VALUE = (31, 0) # type: ignore NVC6B5_PM_TRIGGER_END = (0x00001114) # type: ignore +NVC6B5_PM_TRIGGER_END_V = (31, 0) # type: ignore BLACKWELL_DMA_COPY_A = (0x0000C9B5) # type: ignore UVM_IOCTL_BASE = lambda i: i # type: ignore UVM_RESERVE_VA = UVM_IOCTL_BASE(1) # type: ignore @@ -16897,6 +17530,7 @@ NV_PFAULT_MMU_ENG_ID_BAR2_FN60 = 252 # type: ignore NV_PFAULT_MMU_ENG_ID_BAR2_FN61 = 253 # type: ignore NV_PFAULT_MMU_ENG_ID_BAR2_FN62 = 254 # type: ignore NV_PFAULT_MMU_ENG_ID_BAR2_FN63 = 255 # type: ignore +NV_PFAULT_FAULT_TYPE = (4, 0) # type: ignore NV_PFAULT_FAULT_TYPE_PDE = 0x00000000 # type: ignore NV_PFAULT_FAULT_TYPE_PDE_SIZE = 0x00000001 # type: ignore NV_PFAULT_FAULT_TYPE_PTE = 0x00000002 # type: ignore @@ -16913,6 +17547,7 @@ NV_PFAULT_FAULT_TYPE_UNSUPPORTED_KIND = 0x0000000c # type: ignore NV_PFAULT_FAULT_TYPE_REGION_VIOLATION = 0x0000000d # type: ignore NV_PFAULT_FAULT_TYPE_POISONED = 0x0000000e # type: ignore NV_PFAULT_FAULT_TYPE_ATOMIC_VIOLATION = 0x0000000f # type: ignore +NV_PFAULT_CLIENT = (14, 8) # type: ignore NV_PFAULT_CLIENT_GPC_T1_0 = 0x00000000 # type: ignore NV_PFAULT_CLIENT_GPC_T1_1 = 0x00000001 # type: ignore NV_PFAULT_CLIENT_GPC_T1_2 = 0x00000002 # type: ignore @@ -17130,6 +17765,7 @@ NV_PFAULT_CLIENT_HUB_SKED5 = 0x00000060 # type: ignore NV_PFAULT_CLIENT_HUB_SKED6 = 0x00000061 # type: ignore NV_PFAULT_CLIENT_HUB_SKED7 = 0x00000062 # type: ignore NV_PFAULT_CLIENT_HUB_ESC = 0x00000063 # type: ignore +NV_PFAULT_ACCESS_TYPE = (19, 16) # type: ignore NV_PFAULT_ACCESS_TYPE_READ = 0x00000000 # type: ignore NV_PFAULT_ACCESS_TYPE_WRITE = 0x00000001 # type: ignore NV_PFAULT_ACCESS_TYPE_ATOMIC = 0x00000002 # type: ignore @@ -17144,8 +17780,13 @@ NV_PFAULT_ACCESS_TYPE_PHYS_READ = 0x00000008 # type: ignore NV_PFAULT_ACCESS_TYPE_PHYS_WRITE = 0x00000009 # type: ignore NV_PFAULT_ACCESS_TYPE_PHYS_ATOMIC = 0x0000000a # type: ignore NV_PFAULT_ACCESS_TYPE_PHYS_PREFETCH = 0x0000000b # type: ignore +NV_PFAULT_MMU_CLIENT_TYPE = (20, 20) # type: ignore NV_PFAULT_MMU_CLIENT_TYPE_GPC = 0x00000000 # type: ignore NV_PFAULT_MMU_CLIENT_TYPE_HUB = 0x00000001 # type: ignore +NV_PFAULT_GPC_ID = (28, 24) # type: ignore +NV_PFAULT_PROTECTED_MODE = (29, 29) # type: ignore +NV_PFAULT_REPLAYABLE_FAULT_EN = (30, 30) # type: ignore +NV_PFAULT_VALID = (31, 31) # type: ignore NV_ESC_RM_ALLOC_MEMORY = 0x27 # type: ignore NV_ESC_RM_ALLOC_OBJECT = 0x28 # type: ignore NV_ESC_RM_FREE = 0x29 # type: ignore @@ -17207,44 +17848,65 @@ NV_IOCTL_NUMA_STATUS_ONLINE = 3 # type: ignore NV_IOCTL_NUMA_STATUS_ONLINE_FAILED = 4 # type: ignore NV_IOCTL_NUMA_STATUS_OFFLINE_IN_PROGRESS = 5 # type: ignore NV_IOCTL_NUMA_STATUS_OFFLINE_FAILED = 6 # type: ignore +NVOS04_FLAGS_CHANNEL_TYPE = (1, 0) # type: ignore NVOS04_FLAGS_CHANNEL_TYPE_PHYSICAL = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_TYPE_VIRTUAL = 0x00000001 # type: ignore NVOS04_FLAGS_CHANNEL_TYPE_PHYSICAL_FOR_VIRTUAL = 0x00000002 # type: ignore +NVOS04_FLAGS_VPR = (2, 2) # type: ignore NVOS04_FLAGS_VPR_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_VPR_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CC_SECURE = (2, 2) # type: ignore NVOS04_FLAGS_CC_SECURE_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CC_SECURE_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_SKIP_MAP_REFCOUNTING = (3, 3) # type: ignore NVOS04_FLAGS_CHANNEL_SKIP_MAP_REFCOUNTING_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_SKIP_MAP_REFCOUNTING_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_GROUP_CHANNEL_RUNQUEUE = (4, 4) # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_RUNQUEUE_DEFAULT = 0x00000000 # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_RUNQUEUE_ONE = 0x00000001 # type: ignore +NVOS04_FLAGS_PRIVILEGED_CHANNEL = (5, 5) # type: ignore NVOS04_FLAGS_PRIVILEGED_CHANNEL_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_PRIVILEGED_CHANNEL_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_DELAY_CHANNEL_SCHEDULING = (6, 6) # type: ignore NVOS04_FLAGS_DELAY_CHANNEL_SCHEDULING_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_DELAY_CHANNEL_SCHEDULING_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_DENY_PHYSICAL_MODE_CE = (7, 7) # type: ignore NVOS04_FLAGS_CHANNEL_DENY_PHYSICAL_MODE_CE_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_DENY_PHYSICAL_MODE_CE_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_USERD_INDEX_VALUE = (10, 8) # type: ignore +NVOS04_FLAGS_CHANNEL_USERD_INDEX_FIXED = (11, 11) # type: ignore NVOS04_FLAGS_CHANNEL_USERD_INDEX_FIXED_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_USERD_INDEX_FIXED_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_VALUE = (20, 12) # type: ignore +NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_FIXED = (21, 21) # type: ignore NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_FIXED_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_FIXED_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_DENY_AUTH_LEVEL_PRIV = (22, 22) # type: ignore NVOS04_FLAGS_CHANNEL_DENY_AUTH_LEVEL_PRIV_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_DENY_AUTH_LEVEL_PRIV_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_SKIP_SCRUBBER = (23, 23) # type: ignore NVOS04_FLAGS_CHANNEL_SKIP_SCRUBBER_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_SKIP_SCRUBBER_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_CLIENT_MAP_FIFO = (24, 24) # type: ignore NVOS04_FLAGS_CHANNEL_CLIENT_MAP_FIFO_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_CLIENT_MAP_FIFO_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_SET_EVICT_LAST_CE_PREFETCH_CHANNEL = (25, 25) # type: ignore NVOS04_FLAGS_SET_EVICT_LAST_CE_PREFETCH_CHANNEL_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_SET_EVICT_LAST_CE_PREFETCH_CHANNEL_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_VGPU_PLUGIN_CONTEXT = (26, 26) # type: ignore NVOS04_FLAGS_CHANNEL_VGPU_PLUGIN_CONTEXT_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_VGPU_PLUGIN_CONTEXT_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_CHANNEL_PBDMA_ACQUIRE_TIMEOUT = (27, 27) # type: ignore NVOS04_FLAGS_CHANNEL_PBDMA_ACQUIRE_TIMEOUT_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_CHANNEL_PBDMA_ACQUIRE_TIMEOUT_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_GROUP_CHANNEL_THREAD = (29, 28) # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_THREAD_DEFAULT = 0x00000000 # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_THREAD_ONE = 0x00000001 # type: ignore NVOS04_FLAGS_GROUP_CHANNEL_THREAD_TWO = 0x00000002 # type: ignore +NVOS04_FLAGS_MAP_CHANNEL = (30, 30) # type: ignore NVOS04_FLAGS_MAP_CHANNEL_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_MAP_CHANNEL_TRUE = 0x00000001 # type: ignore +NVOS04_FLAGS_SKIP_CTXBUFFER_ALLOC = (31, 31) # type: ignore NVOS04_FLAGS_SKIP_CTXBUFFER_ALLOC_FALSE = 0x00000000 # type: ignore NVOS04_FLAGS_SKIP_CTXBUFFER_ALLOC_TRUE = 0x00000001 # type: ignore CC_CHAN_ALLOC_IV_SIZE_DWORD = 3 # type: ignore @@ -17332,55 +17994,78 @@ NV01_ROOT = (0x0) # type: ignore NV01_ROOT_NON_PRIV = (0x00000001) # type: ignore NV01_ROOT_CLIENT = (0x00000041) # type: ignore NV01_ALLOC_MEMORY = (0x00000002) # type: ignore +NVOS02_FLAGS_PHYSICALITY = (7, 4) # type: ignore NVOS02_FLAGS_PHYSICALITY_CONTIGUOUS = (0x00000000) # type: ignore NVOS02_FLAGS_PHYSICALITY_NONCONTIGUOUS = (0x00000001) # type: ignore +NVOS02_FLAGS_LOCATION = (11, 8) # type: ignore NVOS02_FLAGS_LOCATION_PCI = (0x00000000) # type: ignore NVOS02_FLAGS_LOCATION_VIDMEM = (0x00000002) # type: ignore +NVOS02_FLAGS_COHERENCY = (15, 12) # type: ignore NVOS02_FLAGS_COHERENCY_UNCACHED = (0x00000000) # type: ignore NVOS02_FLAGS_COHERENCY_CACHED = (0x00000001) # type: ignore NVOS02_FLAGS_COHERENCY_WRITE_COMBINE = (0x00000002) # type: ignore NVOS02_FLAGS_COHERENCY_WRITE_THROUGH = (0x00000003) # type: ignore NVOS02_FLAGS_COHERENCY_WRITE_PROTECT = (0x00000004) # type: ignore NVOS02_FLAGS_COHERENCY_WRITE_BACK = (0x00000005) # type: ignore +NVOS02_FLAGS_ALLOC = (17, 16) # type: ignore NVOS02_FLAGS_ALLOC_NONE = (0x00000001) # type: ignore +NVOS02_FLAGS_GPU_CACHEABLE = (18, 18) # type: ignore NVOS02_FLAGS_GPU_CACHEABLE_NO = (0x00000000) # type: ignore NVOS02_FLAGS_GPU_CACHEABLE_YES = (0x00000001) # type: ignore +NVOS02_FLAGS_KERNEL_MAPPING = (19, 19) # type: ignore NVOS02_FLAGS_KERNEL_MAPPING_NO_MAP = (0x00000000) # type: ignore NVOS02_FLAGS_KERNEL_MAPPING_MAP = (0x00000001) # type: ignore +NVOS02_FLAGS_ALLOC_NISO_DISPLAY = (20, 20) # type: ignore NVOS02_FLAGS_ALLOC_NISO_DISPLAY_NO = (0x00000000) # type: ignore NVOS02_FLAGS_ALLOC_NISO_DISPLAY_YES = (0x00000001) # type: ignore +NVOS02_FLAGS_ALLOC_USER_READ_ONLY = (21, 21) # type: ignore NVOS02_FLAGS_ALLOC_USER_READ_ONLY_NO = (0x00000000) # type: ignore NVOS02_FLAGS_ALLOC_USER_READ_ONLY_YES = (0x00000001) # type: ignore +NVOS02_FLAGS_ALLOC_DEVICE_READ_ONLY = (22, 22) # type: ignore NVOS02_FLAGS_ALLOC_DEVICE_READ_ONLY_NO = (0x00000000) # type: ignore NVOS02_FLAGS_ALLOC_DEVICE_READ_ONLY_YES = (0x00000001) # type: ignore +NVOS02_FLAGS_PEER_MAP_OVERRIDE = (23, 23) # type: ignore NVOS02_FLAGS_PEER_MAP_OVERRIDE_DEFAULT = (0x00000000) # type: ignore NVOS02_FLAGS_PEER_MAP_OVERRIDE_REQUIRED = (0x00000001) # type: ignore +NVOS02_FLAGS_ALLOC_TYPE_SYNCPOINT = (24, 24) # type: ignore NVOS02_FLAGS_ALLOC_TYPE_SYNCPOINT_APERTURE = (0x00000001) # type: ignore +NVOS02_FLAGS_MEMORY_PROTECTION = (26, 25) # type: ignore NVOS02_FLAGS_MEMORY_PROTECTION_DEFAULT = (0x00000000) # type: ignore NVOS02_FLAGS_MEMORY_PROTECTION_PROTECTED = (0x00000001) # type: ignore NVOS02_FLAGS_MEMORY_PROTECTION_UNPROTECTED = (0x00000002) # type: ignore +NVOS02_FLAGS_REGISTER_MEMDESC_TO_PHYS_RM = (27, 27) # type: ignore NVOS02_FLAGS_REGISTER_MEMDESC_TO_PHYS_RM_FALSE = (0x00000000) # type: ignore NVOS02_FLAGS_REGISTER_MEMDESC_TO_PHYS_RM_TRUE = (0x00000001) # type: ignore +NVOS02_FLAGS_MAPPING = (31, 30) # type: ignore NVOS02_FLAGS_MAPPING_DEFAULT = (0x00000000) # type: ignore NVOS02_FLAGS_MAPPING_NO_MAP = (0x00000001) # type: ignore NVOS02_FLAGS_MAPPING_NEVER_MAP = (0x00000002) # type: ignore +NVOS03_FLAGS_ACCESS = (1, 0) # type: ignore NVOS03_FLAGS_ACCESS_READ_WRITE = (0x00000000) # type: ignore NVOS03_FLAGS_ACCESS_READ_ONLY = (0x00000001) # type: ignore NVOS03_FLAGS_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore +NVOS03_FLAGS_PREALLOCATE = (2, 2) # type: ignore NVOS03_FLAGS_PREALLOCATE_DISABLE = (0x00000000) # type: ignore NVOS03_FLAGS_PREALLOCATE_ENABLE = (0x00000001) # type: ignore +NVOS03_FLAGS_GPU_MAPPABLE = (15, 15) # type: ignore NVOS03_FLAGS_GPU_MAPPABLE_DISABLE = (0x00000000) # type: ignore NVOS03_FLAGS_GPU_MAPPABLE_ENABLE = (0x00000001) # type: ignore +NVOS03_FLAGS_PTE_KIND_BL_OVERRIDE = (16, 16) # type: ignore NVOS03_FLAGS_PTE_KIND_BL_OVERRIDE_FALSE = (0x00000000) # type: ignore NVOS03_FLAGS_PTE_KIND_BL_OVERRIDE_TRUE = (0x00000001) # type: ignore +NVOS03_FLAGS_PTE_KIND = (17, 16) # type: ignore NVOS03_FLAGS_PTE_KIND_NONE = (0x00000000) # type: ignore NVOS03_FLAGS_PTE_KIND_BL = (0x00000001) # type: ignore NVOS03_FLAGS_PTE_KIND_PITCH = (0x00000002) # type: ignore +NVOS03_FLAGS_TYPE = (23, 20) # type: ignore NVOS03_FLAGS_TYPE_NOTIFIER = (0x00000001) # type: ignore +NVOS03_FLAGS_MAPPING = (20, 20) # type: ignore NVOS03_FLAGS_MAPPING_NONE = (0x00000000) # type: ignore NVOS03_FLAGS_MAPPING_KERNEL = (0x00000001) # type: ignore +NVOS03_FLAGS_CACHE_SNOOP = (28, 28) # type: ignore NVOS03_FLAGS_CACHE_SNOOP_ENABLE = (0x00000000) # type: ignore NVOS03_FLAGS_CACHE_SNOOP_DISABLE = (0x00000001) # type: ignore +NVOS03_FLAGS_HASH_TABLE = (29, 29) # type: ignore NVOS03_FLAGS_HASH_TABLE_ENABLE = (0x00000000) # type: ignore NVOS03_FLAGS_HASH_TABLE_DISABLE = (0x00000001) # type: ignore NV01_ALLOC_OBJECT = (0x00000005) # type: ignore @@ -17404,12 +18089,15 @@ NVOS64_FLAGS_NONE = (0x00000000) # type: ignore NVOS64_FLAGS_FINN_SERIALIZED = (0x00000001) # type: ignore NVOS65_PARAMETERS_VERSION_MAGIC = 0x77FEF81E # type: ignore NV04_IDLE_CHANNELS = (0x0000001E) # type: ignore +NVOS30_FLAGS_BEHAVIOR = (3, 0) # type: ignore NVOS30_FLAGS_BEHAVIOR_SPIN = (0x00000000) # type: ignore NVOS30_FLAGS_BEHAVIOR_SLEEP = (0x00000001) # type: ignore NVOS30_FLAGS_BEHAVIOR_QUERY = (0x00000002) # type: ignore NVOS30_FLAGS_BEHAVIOR_FORCE_BUSY_CHECK = (0x00000003) # type: ignore +NVOS30_FLAGS_CHANNEL = (7, 4) # type: ignore NVOS30_FLAGS_CHANNEL_LIST = (0x00000000) # type: ignore NVOS30_FLAGS_CHANNEL_SINGLE = (0x00000001) # type: ignore +NVOS30_FLAGS_IDLE = (30, 8) # type: ignore NVOS30_FLAGS_IDLE_PUSH_BUFFER = (0x00000001) # type: ignore NVOS30_FLAGS_IDLE_CACHE1 = (0x00000002) # type: ignore NVOS30_FLAGS_IDLE_GRAPHICS = (0x00000004) # type: ignore @@ -17440,6 +18128,7 @@ NVOS30_FLAGS_IDLE_NVDEC1 = (0x00200000) # type: ignore NVOS30_FLAGS_IDLE_NVDEC2 = (0x00400000) # type: ignore NVOS30_FLAGS_IDLE_ACTIVECHANNELS = (0x00800000) # type: ignore NVOS30_FLAGS_IDLE_ALL_ENGINES = (NVOS30_FLAGS_IDLE_GRAPHICS | NVOS30_FLAGS_IDLE_MPEG | NVOS30_FLAGS_IDLE_MOTION_ESTIMATION | NVOS30_FLAGS_IDLE_VIDEO_PROCESSOR | NVOS30_FLAGS_IDLE_BITSTREAM_PROCESSOR | NVOS30_FLAGS_IDLE_CIPHER_DMA | NVOS30_FLAGS_IDLE_MSPDEC | NVOS30_FLAGS_IDLE_NVDEC0 | NVOS30_FLAGS_IDLE_SEC | NVOS30_FLAGS_IDLE_MSPPP | NVOS30_FLAGS_IDLE_CE0 | NVOS30_FLAGS_IDLE_CE1 | NVOS30_FLAGS_IDLE_CE2 | NVOS30_FLAGS_IDLE_CE3 | NVOS30_FLAGS_IDLE_CE4 | NVOS30_FLAGS_IDLE_CE5 | NVOS30_FLAGS_IDLE_NVENC0 | NVOS30_FLAGS_IDLE_NVENC1 | NVOS30_FLAGS_IDLE_NVENC2 | NVOS30_FLAGS_IDLE_VIC | NVOS30_FLAGS_IDLE_NVJPG | NVOS30_FLAGS_IDLE_NVDEC1 | NVOS30_FLAGS_IDLE_NVDEC2) # type: ignore +NVOS30_FLAGS_WAIT_FOR_ELPG_ON = (31, 31) # type: ignore NVOS30_FLAGS_WAIT_FOR_ELPG_ON_NO = (0x00000000) # type: ignore NVOS30_FLAGS_WAIT_FOR_ELPG_ON_YES = (0x00000001) # type: ignore NV04_VID_HEAP_CONTROL = (0x00000020) # type: ignore @@ -17485,6 +18174,7 @@ NVOS32_TYPE_STENCIL = 16 # type: ignore NVOS32_TYPE_SYNCPOINT = 17 # type: ignore NVOS32_NUM_MEM_TYPES = 18 # type: ignore NVOS32_ATTR_NONE = 0x00000000 # type: ignore +NVOS32_ATTR_DEPTH = (2, 0) # type: ignore NVOS32_ATTR_DEPTH_UNKNOWN = 0x00000000 # type: ignore NVOS32_ATTR_DEPTH_8 = 0x00000001 # type: ignore NVOS32_ATTR_DEPTH_16 = 0x00000002 # type: ignore @@ -17492,8 +18182,10 @@ NVOS32_ATTR_DEPTH_24 = 0x00000003 # type: ignore NVOS32_ATTR_DEPTH_32 = 0x00000004 # type: ignore NVOS32_ATTR_DEPTH_64 = 0x00000005 # type: ignore NVOS32_ATTR_DEPTH_128 = 0x00000006 # type: ignore +NVOS32_ATTR_COMPR_COVG = (3, 3) # type: ignore NVOS32_ATTR_COMPR_COVG_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR_COMPR_COVG_PROVIDED = 0x00000001 # type: ignore +NVOS32_ATTR_AA_SAMPLES = (7, 4) # type: ignore NVOS32_ATTR_AA_SAMPLES_1 = 0x00000000 # type: ignore NVOS32_ATTR_AA_SAMPLES_2 = 0x00000001 # type: ignore NVOS32_ATTR_AA_SAMPLES_4 = 0x00000002 # type: ignore @@ -17505,29 +18197,36 @@ NVOS32_ATTR_AA_SAMPLES_4_VIRTUAL_8 = 0x00000007 # type: ignore NVOS32_ATTR_AA_SAMPLES_4_VIRTUAL_16 = 0x00000008 # type: ignore NVOS32_ATTR_AA_SAMPLES_8_VIRTUAL_16 = 0x00000009 # type: ignore NVOS32_ATTR_AA_SAMPLES_8_VIRTUAL_32 = 0x0000000A # type: ignore +NVOS32_ATTR_GPU_CACHE_SNOOPABLE = (9, 8) # type: ignore NVOS32_ATTR_GPU_CACHE_SNOOPABLE_MAPPING = 0x00000000 # type: ignore NVOS32_ATTR_GPU_CACHE_SNOOPABLE_OFF = 0x00000001 # type: ignore NVOS32_ATTR_GPU_CACHE_SNOOPABLE_ON = 0x00000002 # type: ignore NVOS32_ATTR_GPU_CACHE_SNOOPABLE_INVALID = 0x00000003 # type: ignore +NVOS32_ATTR_ZCULL = (11, 10) # type: ignore NVOS32_ATTR_ZCULL_NONE = 0x00000000 # type: ignore NVOS32_ATTR_ZCULL_REQUIRED = 0x00000001 # type: ignore NVOS32_ATTR_ZCULL_ANY = 0x00000002 # type: ignore NVOS32_ATTR_ZCULL_SHARED = 0x00000003 # type: ignore +NVOS32_ATTR_COMPR = (13, 12) # type: ignore NVOS32_ATTR_COMPR_NONE = 0x00000000 # type: ignore NVOS32_ATTR_COMPR_REQUIRED = 0x00000001 # type: ignore NVOS32_ATTR_COMPR_ANY = 0x00000002 # type: ignore NVOS32_ATTR_COMPR_PLC_REQUIRED = NVOS32_ATTR_COMPR_REQUIRED # type: ignore NVOS32_ATTR_COMPR_PLC_ANY = NVOS32_ATTR_COMPR_ANY # type: ignore NVOS32_ATTR_COMPR_DISABLE_PLC_ANY = 0x00000003 # type: ignore +NVOS32_ATTR_ALLOCATE_FROM_RESERVED_HEAP = (14, 14) # type: ignore NVOS32_ATTR_ALLOCATE_FROM_RESERVED_HEAP_NO = 0x00000000 # type: ignore NVOS32_ATTR_ALLOCATE_FROM_RESERVED_HEAP_YES = 0x00000001 # type: ignore +NVOS32_ATTR_FORMAT = (17, 16) # type: ignore NVOS32_ATTR_FORMAT_LOW_FIELD = 16 # type: ignore NVOS32_ATTR_FORMAT_HIGH_FIELD = 17 # type: ignore NVOS32_ATTR_FORMAT_PITCH = 0x00000000 # type: ignore NVOS32_ATTR_FORMAT_SWIZZLED = 0x00000001 # type: ignore NVOS32_ATTR_FORMAT_BLOCK_LINEAR = 0x00000002 # type: ignore +NVOS32_ATTR_Z_TYPE = (18, 18) # type: ignore NVOS32_ATTR_Z_TYPE_FIXED = 0x00000000 # type: ignore NVOS32_ATTR_Z_TYPE_FLOAT = 0x00000001 # type: ignore +NVOS32_ATTR_ZS_PACKING = (21, 19) # type: ignore NVOS32_ATTR_ZS_PACKING_S8 = 0x00000000 # type: ignore NVOS32_ATTR_ZS_PACKING_Z24S8 = 0x00000000 # type: ignore NVOS32_ATTR_ZS_PACKING_S8Z24 = 0x00000001 # type: ignore @@ -17537,19 +18236,24 @@ NVOS32_ATTR_ZS_PACKING_X8Z24 = 0x00000004 # type: ignore NVOS32_ATTR_ZS_PACKING_Z32_X24S8 = 0x00000005 # type: ignore NVOS32_ATTR_ZS_PACKING_X8Z24_X24S8 = 0x00000006 # type: ignore NVOS32_ATTR_ZS_PACKING_Z16 = 0x00000007 # type: ignore +NVOS32_ATTR_COLOR_PACKING = NVOS32_ATTR_ZS_PACKING # type: ignore NVOS32_ATTR_COLOR_PACKING_A8R8G8B8 = 0x00000000 # type: ignore NVOS32_ATTR_COLOR_PACKING_X8R8G8B8 = 0x00000001 # type: ignore +NVOS32_ATTR_PAGE_SIZE = (24, 23) # type: ignore NVOS32_ATTR_PAGE_SIZE_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR_PAGE_SIZE_4KB = 0x00000001 # type: ignore NVOS32_ATTR_PAGE_SIZE_BIG = 0x00000002 # type: ignore NVOS32_ATTR_PAGE_SIZE_HUGE = 0x00000003 # type: ignore +NVOS32_ATTR_LOCATION = (26, 25) # type: ignore NVOS32_ATTR_LOCATION_VIDMEM = 0x00000000 # type: ignore NVOS32_ATTR_LOCATION_PCI = 0x00000001 # type: ignore NVOS32_ATTR_LOCATION_ANY = 0x00000003 # type: ignore +NVOS32_ATTR_PHYSICALITY = (28, 27) # type: ignore NVOS32_ATTR_PHYSICALITY_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR_PHYSICALITY_NONCONTIGUOUS = 0x00000001 # type: ignore NVOS32_ATTR_PHYSICALITY_CONTIGUOUS = 0x00000002 # type: ignore NVOS32_ATTR_PHYSICALITY_ALLOW_NONCONTIGUOUS = 0x00000003 # type: ignore +NVOS32_ATTR_COHERENCY = (31, 29) # type: ignore NVOS32_ATTR_COHERENCY_UNCACHED = 0x00000000 # type: ignore NVOS32_ATTR_COHERENCY_CACHED = 0x00000001 # type: ignore NVOS32_ATTR_COHERENCY_WRITE_COMBINE = 0x00000002 # type: ignore @@ -17557,65 +18261,89 @@ NVOS32_ATTR_COHERENCY_WRITE_THROUGH = 0x00000003 # type: ignore NVOS32_ATTR_COHERENCY_WRITE_PROTECT = 0x00000004 # type: ignore NVOS32_ATTR_COHERENCY_WRITE_BACK = 0x00000005 # type: ignore NVOS32_ATTR2_NONE = 0x00000000 # type: ignore +NVOS32_ATTR2_ZBC = (1, 0) # type: ignore NVOS32_ATTR2_ZBC_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_ZBC_PREFER_NO_ZBC = 0x00000001 # type: ignore NVOS32_ATTR2_ZBC_PREFER_ZBC = 0x00000002 # type: ignore NVOS32_ATTR2_ZBC_REQUIRE_ONLY_ZBC = 0x00000003 # type: ignore NVOS32_ATTR2_ZBC_INVALID = 0x00000003 # type: ignore +NVOS32_ATTR2_GPU_CACHEABLE = (3, 2) # type: ignore NVOS32_ATTR2_GPU_CACHEABLE_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_GPU_CACHEABLE_YES = 0x00000001 # type: ignore NVOS32_ATTR2_GPU_CACHEABLE_NO = 0x00000002 # type: ignore NVOS32_ATTR2_GPU_CACHEABLE_INVALID = 0x00000003 # type: ignore +NVOS32_ATTR2_P2P_GPU_CACHEABLE = (5, 4) # type: ignore NVOS32_ATTR2_P2P_GPU_CACHEABLE_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_P2P_GPU_CACHEABLE_YES = 0x00000001 # type: ignore NVOS32_ATTR2_P2P_GPU_CACHEABLE_NO = 0x00000002 # type: ignore +NVOS32_ATTR2_32BIT_POINTER = (6, 6) # type: ignore NVOS32_ATTR2_32BIT_POINTER_DISABLE = 0x00000000 # type: ignore NVOS32_ATTR2_32BIT_POINTER_ENABLE = 0x00000001 # type: ignore +NVOS32_ATTR2_FIXED_NUMA_NODE_ID = (7, 7) # type: ignore NVOS32_ATTR2_FIXED_NUMA_NODE_ID_NO = 0x00000000 # type: ignore NVOS32_ATTR2_FIXED_NUMA_NODE_ID_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_SMMU_ON_GPU = (9, 8) # type: ignore NVOS32_ATTR2_SMMU_ON_GPU_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_SMMU_ON_GPU_DISABLE = 0x00000001 # type: ignore NVOS32_ATTR2_SMMU_ON_GPU_ENABLE = 0x00000002 # type: ignore +NVOS32_ATTR2_USE_SCANOUT_CARVEOUT = (10, 10) # type: ignore NVOS32_ATTR2_USE_SCANOUT_CARVEOUT_FALSE = 0x00000000 # type: ignore NVOS32_ATTR2_USE_SCANOUT_CARVEOUT_TRUE = 0x00000001 # type: ignore +NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN = (11, 11) # type: ignore NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN_OFF = 0x0 # type: ignore NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN_ON = 0x1 # type: ignore NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN_DEFAULT = NVOS32_ATTR2_ALLOC_COMPCACHELINE_ALIGN_OFF # type: ignore +NVOS32_ATTR2_PRIORITY = (13, 12) # type: ignore NVOS32_ATTR2_PRIORITY_DEFAULT = 0x0 # type: ignore NVOS32_ATTR2_PRIORITY_HIGH = 0x1 # type: ignore NVOS32_ATTR2_PRIORITY_LOW = 0x2 # type: ignore +NVOS32_ATTR2_INTERNAL = (14, 14) # type: ignore NVOS32_ATTR2_INTERNAL_NO = 0x0 # type: ignore NVOS32_ATTR2_INTERNAL_YES = 0x1 # type: ignore +NVOS32_ATTR2_PREFER_2C = (15, 15) # type: ignore NVOS32_ATTR2_PREFER_2C_NO = 0x00000000 # type: ignore NVOS32_ATTR2_PREFER_2C_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_NISO_DISPLAY = (16, 16) # type: ignore NVOS32_ATTR2_NISO_DISPLAY_NO = 0x00000000 # type: ignore NVOS32_ATTR2_NISO_DISPLAY_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_ZBC_SKIP_ZBCREFCOUNT = (17, 17) # type: ignore NVOS32_ATTR2_ZBC_SKIP_ZBCREFCOUNT_NO = 0x00000000 # type: ignore NVOS32_ATTR2_ZBC_SKIP_ZBCREFCOUNT_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_ISO = (18, 18) # type: ignore NVOS32_ATTR2_ISO_NO = 0x00000000 # type: ignore NVOS32_ATTR2_ISO_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_BLACKLIST = (19, 19) # type: ignore NVOS32_ATTR2_BLACKLIST_ON = 0x00000000 # type: ignore NVOS32_ATTR2_BLACKLIST_OFF = 0x00000001 # type: ignore +NVOS32_ATTR2_PAGE_OFFLINING = (19, 19) # type: ignore NVOS32_ATTR2_PAGE_OFFLINING_ON = 0x00000000 # type: ignore NVOS32_ATTR2_PAGE_OFFLINING_OFF = 0x00000001 # type: ignore +NVOS32_ATTR2_PAGE_SIZE_HUGE = (21, 20) # type: ignore NVOS32_ATTR2_PAGE_SIZE_HUGE_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_PAGE_SIZE_HUGE_2MB = 0x00000001 # type: ignore NVOS32_ATTR2_PAGE_SIZE_HUGE_512MB = 0x00000002 # type: ignore NVOS32_ATTR2_PAGE_SIZE_HUGE_256GB = 0x00000003 # type: ignore +NVOS32_ATTR2_PROTECTION_USER = (22, 22) # type: ignore NVOS32_ATTR2_PROTECTION_USER_READ_WRITE = 0x00000000 # type: ignore NVOS32_ATTR2_PROTECTION_USER_READ_ONLY = 0x00000001 # type: ignore +NVOS32_ATTR2_PROTECTION_DEVICE = (23, 23) # type: ignore NVOS32_ATTR2_PROTECTION_DEVICE_READ_WRITE = 0x00000000 # type: ignore NVOS32_ATTR2_PROTECTION_DEVICE_READ_ONLY = 0x00000001 # type: ignore +NVOS32_ATTR2_USE_EGM = (24, 24) # type: ignore NVOS32_ATTR2_USE_EGM_FALSE = 0x00000000 # type: ignore NVOS32_ATTR2_USE_EGM_TRUE = 0x00000001 # type: ignore +NVOS32_ATTR2_MEMORY_PROTECTION = (26, 25) # type: ignore NVOS32_ATTR2_MEMORY_PROTECTION_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_MEMORY_PROTECTION_PROTECTED = 0x00000001 # type: ignore NVOS32_ATTR2_MEMORY_PROTECTION_UNPROTECTED = 0x00000002 # type: ignore +NVOS32_ATTR2_ALLOCATE_FROM_SUBHEAP = (27, 27) # type: ignore NVOS32_ATTR2_ALLOCATE_FROM_SUBHEAP_NO = 0x00000000 # type: ignore NVOS32_ATTR2_ALLOCATE_FROM_SUBHEAP_YES = 0x00000001 # type: ignore +NVOS32_ATTR2_ENABLE_LOCALIZED_MEMORY = (30, 29) # type: ignore NVOS32_ATTR2_ENABLE_LOCALIZED_MEMORY_DEFAULT = 0x00000000 # type: ignore NVOS32_ATTR2_ENABLE_LOCALIZED_MEMORY_UGPU0 = 0x00000001 # type: ignore NVOS32_ATTR2_ENABLE_LOCALIZED_MEMORY_UGPU1 = 0x00000002 # type: ignore +NVOS32_ATTR2_REGISTER_MEMDESC_TO_PHYS_RM = (31, 31) # type: ignore NVOS32_ATTR2_REGISTER_MEMDESC_TO_PHYS_RM_FALSE = 0x00000000 # type: ignore NVOS32_ATTR2_REGISTER_MEMDESC_TO_PHYS_RM_TRUE = 0x00000001 # type: ignore NVOS32_ALLOC_FLAGS_IGNORE_BANK_PLACEMENT = 0x00000001 # type: ignore @@ -17661,16 +18389,24 @@ NVOS32_ALLOC_INTERNAL_FLAGS_SKIP_SCRUB = 0x00000004 # type: ignore NVOS32_ALLOC_FLAGS_MAXIMIZE_4GB_ADDRESS_SPACE = NVOS32_ALLOC_FLAGS_MAXIMIZE_ADDRESS_SPACE # type: ignore NVOS32_ALLOC_FLAGS_VIRTUAL_ONLY = ( NVOS32_ALLOC_FLAGS_VIRTUAL | NVOS32_ALLOC_FLAGS_LAZY | NVOS32_ALLOC_FLAGS_EXTERNALLY_MANAGED | NVOS32_ALLOC_FLAGS_SPARSE | NVOS32_ALLOC_FLAGS_MAXIMIZE_ADDRESS_SPACE | NVOS32_ALLOC_FLAGS_PREFER_PTES_IN_SYSMEMORY ) # type: ignore NVOS32_ALLOC_COMPR_COVG_SCALE = 10 # type: ignore +NVOS32_ALLOC_COMPR_COVG_BITS = (1, 0) # type: ignore NVOS32_ALLOC_COMPR_COVG_BITS_DEFAULT = 0x00000000 # type: ignore NVOS32_ALLOC_COMPR_COVG_BITS_1 = 0x00000001 # type: ignore NVOS32_ALLOC_COMPR_COVG_BITS_2 = 0x00000002 # type: ignore NVOS32_ALLOC_COMPR_COVG_BITS_4 = 0x00000003 # type: ignore +NVOS32_ALLOC_COMPR_COVG_MAX = (11, 2) # type: ignore +NVOS32_ALLOC_COMPR_COVG_MIN = (21, 12) # type: ignore +NVOS32_ALLOC_COMPR_COVG_START = (31, 22) # type: ignore +NVOS32_ALLOC_ZCULL_COVG_FORMAT = (3, 0) # type: ignore NVOS32_ALLOC_ZCULL_COVG_FORMAT_LOW_RES_Z = 0x00000000 # type: ignore NVOS32_ALLOC_ZCULL_COVG_FORMAT_HIGH_RES_Z = 0x00000002 # type: ignore NVOS32_ALLOC_ZCULL_COVG_FORMAT_LOW_RES_ZS = 0x00000003 # type: ignore +NVOS32_ALLOC_ZCULL_COVG_FALLBACK = (4, 4) # type: ignore NVOS32_ALLOC_ZCULL_COVG_FALLBACK_DISALLOW = 0x00000000 # type: ignore NVOS32_ALLOC_ZCULL_COVG_FALLBACK_ALLOW = 0x00000001 # type: ignore +NVOS32_ALLOC_COMPTAG_OFFSET_START = (19, 0) # type: ignore NVOS32_ALLOC_COMPTAG_OFFSET_START_DEFAULT = 0x00000000 # type: ignore +NVOS32_ALLOC_COMPTAG_OFFSET_USAGE = (31, 30) # type: ignore NVOS32_ALLOC_COMPTAG_OFFSET_USAGE_DEFAULT = 0x00000000 # type: ignore NVOS32_ALLOC_COMPTAG_OFFSET_USAGE_OFF = 0x00000000 # type: ignore NVOS32_ALLOC_COMPTAG_OFFSET_USAGE_FIXED = 0x00000001 # type: ignore @@ -17682,6 +18418,7 @@ NVOS32_REALLOC_FLAGS_REALLOC_DOWN = 0x00000002 # type: ignore NVOS32_RELEASE_COMPR_FLAGS_MEMORY_HANDLE_PROVIDED = 0x000000001 # type: ignore NVOS32_REACQUIRE_COMPR_FLAGS_MEMORY_HANDLE_PROVIDED = 0x000000001 # type: ignore NVOS32_FREE_FLAGS_MEMORY_HANDLE_PROVIDED = 0x00000001 # type: ignore +NVOS32_DUMP_FLAGS_TYPE = (1, 0) # type: ignore NVOS32_DUMP_FLAGS_TYPE_FB = 0x00000000 # type: ignore NVOS32_DUMP_FLAGS_TYPE_CLIENT_PD = 0x00000001 # type: ignore NVOS32_DUMP_FLAGS_TYPE_CLIENT_VA = 0x00000002 # type: ignore @@ -17692,32 +18429,43 @@ NVOS32_MEM_TAG_NONE = 0x00000000 # type: ignore NV04_MAP_MEMORY = (0x00000021) # type: ignore NV04_MAP_MEMORY_FLAGS_NONE = (0x00000000) # type: ignore NV04_MAP_MEMORY_FLAGS_USER = (0x00004000) # type: ignore +NVOS33_FLAGS_ACCESS = (1, 0) # type: ignore NVOS33_FLAGS_ACCESS_READ_WRITE = (0x00000000) # type: ignore NVOS33_FLAGS_ACCESS_READ_ONLY = (0x00000001) # type: ignore NVOS33_FLAGS_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore +NVOS33_FLAGS_PERSISTENT = (4, 4) # type: ignore NVOS33_FLAGS_PERSISTENT_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_PERSISTENT_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_SKIP_SIZE_CHECK = (8, 8) # type: ignore NVOS33_FLAGS_SKIP_SIZE_CHECK_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_SKIP_SIZE_CHECK_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_MEM_SPACE = (14, 14) # type: ignore NVOS33_FLAGS_MEM_SPACE_CLIENT = (0x00000000) # type: ignore NVOS33_FLAGS_MEM_SPACE_USER = (0x00000001) # type: ignore +NVOS33_FLAGS_MAPPING = (16, 15) # type: ignore NVOS33_FLAGS_MAPPING_DEFAULT = (0x00000000) # type: ignore NVOS33_FLAGS_MAPPING_DIRECT = (0x00000001) # type: ignore NVOS33_FLAGS_MAPPING_REFLECTED = (0x00000002) # type: ignore +NVOS33_FLAGS_FIFO_MAPPING = (17, 17) # type: ignore NVOS33_FLAGS_FIFO_MAPPING_DEFAULT = (0x00000000) # type: ignore NVOS33_FLAGS_FIFO_MAPPING_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_MAP_FIXED = (18, 18) # type: ignore NVOS33_FLAGS_MAP_FIXED_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_MAP_FIXED_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_RESERVE_ON_UNMAP = (19, 19) # type: ignore NVOS33_FLAGS_RESERVE_ON_UNMAP_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_RESERVE_ON_UNMAP_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_OS_DESCRIPTOR = (22, 22) # type: ignore NVOS33_FLAGS_OS_DESCRIPTOR_DISABLE = (0x00000000) # type: ignore NVOS33_FLAGS_OS_DESCRIPTOR_ENABLE = (0x00000001) # type: ignore +NVOS33_FLAGS_CACHING_TYPE = (25, 23) # type: ignore NVOS33_FLAGS_CACHING_TYPE_CACHED = 0 # type: ignore NVOS33_FLAGS_CACHING_TYPE_UNCACHED = 1 # type: ignore NVOS33_FLAGS_CACHING_TYPE_WRITECOMBINED = 2 # type: ignore NVOS33_FLAGS_CACHING_TYPE_WRITEBACK = 5 # type: ignore NVOS33_FLAGS_CACHING_TYPE_DEFAULT = 6 # type: ignore NVOS33_FLAGS_CACHING_TYPE_UNCACHED_WEAK = 7 # type: ignore +NVOS33_FLAGS_ALLOW_MAPPING_ON_HCC = (26, 26) # type: ignore NVOS33_FLAGS_ALLOW_MAPPING_ON_HCC_NO = (0x00000000) # type: ignore NVOS33_FLAGS_ALLOW_MAPPING_ON_HCC_YES = (0x00000001) # type: ignore NV04_UNMAP_MEMORY = (0x00000022) # type: ignore @@ -17732,58 +18480,82 @@ NV04_ALLOC_CONTEXT_DMA = (0x00000027) # type: ignore NV04_GET_EVENT_DATA = (0x00000028) # type: ignore NVSIM01_BUS_XACT = (0x0000002C) # type: ignore NV04_MAP_MEMORY_DMA = (0x0000002E) # type: ignore +NVOS46_FLAGS_ACCESS = (1, 0) # type: ignore NVOS46_FLAGS_ACCESS_READ_WRITE = (0x00000000) # type: ignore NVOS46_FLAGS_ACCESS_READ_ONLY = (0x00000001) # type: ignore NVOS46_FLAGS_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore +NVOS46_FLAGS_32BIT_POINTER = (2, 2) # type: ignore NVOS46_FLAGS_32BIT_POINTER_DISABLE = (0x00000000) # type: ignore NVOS46_FLAGS_32BIT_POINTER_ENABLE = (0x00000001) # type: ignore +NVOS46_FLAGS_PAGE_KIND = (3, 3) # type: ignore NVOS46_FLAGS_PAGE_KIND_PHYSICAL = (0x00000000) # type: ignore NVOS46_FLAGS_PAGE_KIND_VIRTUAL = (0x00000001) # type: ignore +NVOS46_FLAGS_CACHE_SNOOP = (4, 4) # type: ignore NVOS46_FLAGS_CACHE_SNOOP_DISABLE = (0x00000000) # type: ignore NVOS46_FLAGS_CACHE_SNOOP_ENABLE = (0x00000001) # type: ignore +NVOS46_FLAGS_KERNEL_MAPPING = (5, 5) # type: ignore NVOS46_FLAGS_KERNEL_MAPPING_NONE = (0x00000000) # type: ignore NVOS46_FLAGS_KERNEL_MAPPING_ENABLE = (0x00000001) # type: ignore +NVOS46_FLAGS_SHADER_ACCESS = (7, 6) # type: ignore NVOS46_FLAGS_SHADER_ACCESS_DEFAULT = (0x00000000) # type: ignore NVOS46_FLAGS_SHADER_ACCESS_READ_ONLY = (0x00000001) # type: ignore NVOS46_FLAGS_SHADER_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore NVOS46_FLAGS_SHADER_ACCESS_READ_WRITE = (0x00000003) # type: ignore +NVOS46_FLAGS_PAGE_SIZE = (11, 8) # type: ignore NVOS46_FLAGS_PAGE_SIZE_DEFAULT = (0x00000000) # type: ignore NVOS46_FLAGS_PAGE_SIZE_4KB = (0x00000001) # type: ignore NVOS46_FLAGS_PAGE_SIZE_BIG = (0x00000002) # type: ignore NVOS46_FLAGS_PAGE_SIZE_BOTH = (0x00000003) # type: ignore NVOS46_FLAGS_PAGE_SIZE_HUGE = (0x00000004) # type: ignore NVOS46_FLAGS_PAGE_SIZE_512M = (0x00000005) # type: ignore +NVOS46_FLAGS_SYSTEM_L3_ALLOC = (13, 13) # type: ignore NVOS46_FLAGS_SYSTEM_L3_ALLOC_DEFAULT = (0x00000000) # type: ignore NVOS46_FLAGS_SYSTEM_L3_ALLOC_ENABLE_HINT = (0x00000001) # type: ignore +NVOS46_FLAGS_DMA_OFFSET_GROWS = (14, 14) # type: ignore NVOS46_FLAGS_DMA_OFFSET_GROWS_UP = (0x00000000) # type: ignore NVOS46_FLAGS_DMA_OFFSET_GROWS_DOWN = (0x00000001) # type: ignore +NVOS46_FLAGS_DMA_OFFSET_FIXED = (15, 15) # type: ignore NVOS46_FLAGS_DMA_OFFSET_FIXED_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_DMA_OFFSET_FIXED_TRUE = (0x00000001) # type: ignore +NVOS46_FLAGS_DISABLE_ENCRYPTION = (16, 16) # type: ignore NVOS46_FLAGS_DISABLE_ENCRYPTION_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_DISABLE_ENCRYPTION_TRUE = (0x00000001) # type: ignore +NVOS46_FLAGS_GPU_CACHEABLE = (18, 17) # type: ignore NVOS46_FLAGS_GPU_CACHEABLE_DEFAULT = (0x00000000) # type: ignore NVOS46_FLAGS_GPU_CACHEABLE_YES = (0x00000001) # type: ignore NVOS46_FLAGS_GPU_CACHEABLE_NO = (0x00000002) # type: ignore NVOS46_FLAGS_GPU_CACHEABLE_INVALID = (0x00000003) # type: ignore +NVOS46_FLAGS_PAGE_KIND_OVERRIDE = (19, 19) # type: ignore NVOS46_FLAGS_PAGE_KIND_OVERRIDE_NO = (0x00000000) # type: ignore NVOS46_FLAGS_PAGE_KIND_OVERRIDE_YES = (0x00000001) # type: ignore +NVOS46_FLAGS_P2P = (27, 20) # type: ignore +NVOS46_FLAGS_P2P_ENABLE = (21, 20) # type: ignore NVOS46_FLAGS_P2P_ENABLE_NO = (0x00000000) # type: ignore NVOS46_FLAGS_P2P_ENABLE_YES = (0x00000001) # type: ignore NVOS46_FLAGS_P2P_ENABLE_NONE = NVOS46_FLAGS_P2P_ENABLE_NO # type: ignore NVOS46_FLAGS_P2P_ENABLE_SLI = NVOS46_FLAGS_P2P_ENABLE_YES # type: ignore NVOS46_FLAGS_P2P_ENABLE_NOSLI = (0x00000002) # type: ignore +NVOS46_FLAGS_P2P_SUBDEVICE_ID = (24, 22) # type: ignore +NVOS46_FLAGS_P2P_SUBDEV_ID_SRC = NVOS46_FLAGS_P2P_SUBDEVICE_ID # type: ignore +NVOS46_FLAGS_P2P_SUBDEV_ID_TGT = (27, 25) # type: ignore +NVOS46_FLAGS_TLB_LOCK = (28, 28) # type: ignore NVOS46_FLAGS_TLB_LOCK_DISABLE = (0x00000000) # type: ignore NVOS46_FLAGS_TLB_LOCK_ENABLE = (0x00000001) # type: ignore +NVOS46_FLAGS_DMA_UNICAST_REUSE_ALLOC = (29, 29) # type: ignore NVOS46_FLAGS_DMA_UNICAST_REUSE_ALLOC_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_DMA_UNICAST_REUSE_ALLOC_TRUE = (0x00000001) # type: ignore +NVOS46_FLAGS_ENABLE_FORCE_COMPRESSED_MAP = (30, 30) # type: ignore NVOS46_FLAGS_ENABLE_FORCE_COMPRESSED_MAP_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_ENABLE_FORCE_COMPRESSED_MAP_TRUE = (0x00000001) # type: ignore +NVOS46_FLAGS_DEFER_TLB_INVALIDATION = (31, 31) # type: ignore NVOS46_FLAGS_DEFER_TLB_INVALIDATION_FALSE = (0x00000000) # type: ignore NVOS46_FLAGS_DEFER_TLB_INVALIDATION_TRUE = (0x00000001) # type: ignore +NVOS46_FLAGS2_GPU_CACHE_SNOOP = (1, 0) # type: ignore NVOS46_FLAGS2_GPU_CACHE_SNOOP_DEFAULT = (0x00000000) # type: ignore NVOS46_FLAGS2_GPU_CACHE_SNOOP_ENABLE = (0x00000001) # type: ignore NVOS46_FLAGS2_GPU_CACHE_SNOOP_DISABLE = (0x00000002) # type: ignore NV04_UNMAP_MEMORY_DMA = (0x0000002F) # type: ignore +NVOS47_FLAGS_DEFER_TLB_INVALIDATION = (0, 0) # type: ignore NVOS47_FLAGS_DEFER_TLB_INVALIDATION_FALSE = (0x00000000) # type: ignore NVOS47_FLAGS_DEFER_TLB_INVALIDATION_TRUE = (0x00000001) # type: ignore NV04_BIND_CONTEXT_DMA = (0x00000031) # type: ignore @@ -17859,8 +18631,11 @@ NV_CHANNELGPFIFO_NOTIFICATION_TYPE_ERROR = 0x00000000 # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_TYPE_WORK_SUBMIT_TOKEN = 0x00000001 # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_TYPE_KEY_ROTATION_STATUS = 0x00000002 # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_TYPE__SIZE_1 = 3 # type: ignore +NV_CHANNELGPFIFO_NOTIFICATION_STATUS_VALUE = (14, 0) # type: ignore +NV_CHANNELGPFIFO_NOTIFICATION_STATUS_IN_PROGRESS = (15, 15) # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_STATUS_IN_PROGRESS_TRUE = 0x1 # type: ignore NV_CHANNELGPFIFO_NOTIFICATION_STATUS_IN_PROGRESS_FALSE = 0x0 # type: ignore +NV50VAIO_CHANNELDMA_ALLOCATION_FLAGS_CONNECT_PB_AT_GRAB = (1, 1) # type: ignore NV50VAIO_CHANNELDMA_ALLOCATION_FLAGS_CONNECT_PB_AT_GRAB_YES = 0x00000000 # type: ignore NV50VAIO_CHANNELDMA_ALLOCATION_FLAGS_CONNECT_PB_AT_GRAB_NO = 0x00000001 # type: ignore NV_SWRUNLIST_QOS_INTR_NONE = 0x00000000 # type: ignore @@ -17894,10 +18669,13 @@ NV_VASPACE_ALLOCATION_INDEX_GPU_FLA = 0x04 # type: ignore NV_VASPACE_ALLOCATION_INDEX_GPU_MAX = 0x05 # type: ignore NV_VASPACE_BIG_PAGE_SIZE_64K = (64 * 1024) # type: ignore NV_VASPACE_BIG_PAGE_SIZE_128K = (128 * 1024) # type: ignore +NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT = (1, 0) # type: ignore NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT_SYNC = (0x00000000) # type: ignore NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT_ASYNC = (0x00000001) # type: ignore NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT_SPECIFIED = (0x00000002) # type: ignore NV_CTXSHARE_ALLOCATION_FLAGS_SUBCONTEXT_ASYNC_PREFER_LOWER = (0x00000003) # type: ignore +NV_CTXSHARE_ALLOCATION_SUBCTXID_SUBCTXID = (30, 0) # type: ignore +NV_CTXSHARE_ALLOCATION_SUBCTXID_ASYNC_PREFER_LOWER_ALLOCATION = (31, 31) # type: ignore NV_CTXSHARE_ALLOCATION_SUBCTXID_ASYNC_PREFER_LOWER_ALLOCATION_SUCCESS = (0x00000001) # type: ignore NV_CTXSHARE_ALLOCATION_SUBCTXID_ASYNC_PREFER_LOWER_ALLOCATION_FAIL = (0x00000000) # type: ignore NV_TIMEOUT_CONTROL_CMD_SET_DEVICE_TIMEOUT = (0x00000002) # type: ignore @@ -18161,18 +18939,25 @@ NV0000_CTRL_SLI_STATUS_GPU_NOT_SUPPORTED = (0x00000040) # type: ignore NV0000_CTRL_SLI_STATUS_INVALID_GPU_COUNT = (0x00000001) # type: ignore NV0000_CTRL_CMD_GPU_GET_ID_INFO_V2 = (0x205) # type: ignore NV0000_CTRL_GPU_GET_ID_INFO_V2_PARAMS_MESSAGE_ID = (0x5) # type: ignore +NV0000_CTRL_GPU_ID_INFO_IN_USE = (0, 0) # type: ignore NV0000_CTRL_GPU_ID_INFO_IN_USE_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_IN_USE_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_LINKED_INTO_SLI_DEVICE = (1, 1) # type: ignore NV0000_CTRL_GPU_ID_INFO_LINKED_INTO_SLI_DEVICE_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_LINKED_INTO_SLI_DEVICE_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_MOBILE = (2, 2) # type: ignore NV0000_CTRL_GPU_ID_INFO_MOBILE_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_MOBILE_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_BOOT_MASTER = (3, 3) # type: ignore NV0000_CTRL_GPU_ID_INFO_BOOT_MASTER_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_BOOT_MASTER_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_SOC = (5, 5) # type: ignore NV0000_CTRL_GPU_ID_INFO_SOC_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_SOC_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_ATS_ENABLED = (6, 6) # type: ignore NV0000_CTRL_GPU_ID_INFO_ATS_ENABLED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_ATS_ENABLED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_GPU_ID_INFO_SOC_TYPE = (8, 7) # type: ignore NV0000_CTRL_GPU_ID_INFO_SOC_TYPE_NONE = (0x00000000) # type: ignore NV0000_CTRL_GPU_ID_INFO_SOC_TYPE_DISPLAY = (0x00000001) # type: ignore NV0000_CTRL_GPU_ID_INFO_SOC_TYPE_IGPU = (0x00000002) # type: ignore @@ -18183,6 +18968,7 @@ NV0000_CTRL_CMD_GPU_GET_DEVICE_IDS = (0x204) # type: ignore NV0000_CTRL_GPU_GET_DEVICE_IDS_PARAMS_MESSAGE_ID = (0x4) # type: ignore NV0000_CTRL_CMD_GPU_GET_PROBED_IDS = (0x214) # type: ignore NV0000_CTRL_GPU_GET_PROBED_IDS_PARAMS_MESSAGE_ID = (0x14) # type: ignore +NV0000_CTRL_GPU_PROBED_ID_FLAGS_SOC_DISPLAY = (0, 0) # type: ignore NV0000_CTRL_GPU_PROBED_ID_FLAGS_SOC_DISPLAY_FALSE = (0x00000000) # type: ignore NV0000_CTRL_GPU_PROBED_ID_FLAGS_SOC_DISPLAY_TRUE = (0x00000001) # type: ignore NV0000_CTRL_CMD_GPU_GET_PCI_INFO = (0x21b) # type: ignore @@ -18201,14 +18987,18 @@ NV0000_CTRL_GPU_GET_SVM_SIZE_PARAMS_MESSAGE_ID = (0x40) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO = (0x274) # type: ignore NV0000_GPU_MAX_GID_LENGTH = (0x00000100) # type: ignore NV0000_CTRL_GPU_GET_UUID_INFO_PARAMS_MESSAGE_ID = (0x74) # type: ignore +NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_FORMAT = (1, 0) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_FORMAT_ASCII = (0x00000000) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_FORMAT_BINARY = (0x00000002) # type: ignore +NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_TYPE = (2, 2) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_TYPE_SHA1 = (0x00000000) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_INFO_FLAGS_TYPE_SHA256 = (0x00000001) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID = (0x275) # type: ignore NV0000_CTRL_GPU_GET_UUID_FROM_GPU_ID_PARAMS_MESSAGE_ID = (0x75) # type: ignore +NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_FORMAT = (1, 0) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_FORMAT_ASCII = (0x00000000) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_FORMAT_BINARY = (0x00000002) # type: ignore +NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_TYPE = (2, 2) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_TYPE_SHA1 = (0x00000000) # type: ignore NV0000_CTRL_CMD_GPU_GET_UUID_FROM_GPU_ID_FLAGS_TYPE_SHA256 = (0x00000001) # type: ignore NV0000_CTRL_CMD_GPU_MODIFY_DRAIN_STATE = (0x278) # type: ignore @@ -18240,6 +19030,8 @@ NV0000_CTRL_GPU_IMAGE_TYPE_GSP_LOG = (0x00000002) # type: ignore NV0000_CTRL_GPU_IMAGE_TYPE_BINDATA_IMAGE = (0x00000003) # type: ignore NV0000_CTRL_CMD_PUSH_UCODE_IMAGE = (0x285) # type: ignore NV0000_CTRL_GPU_PUSH_UCODE_IMAGE_PARAMS_MESSAGE_ID = (0x85) # type: ignore +NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_SETTING_LEGACY = (2, 0) # type: ignore +NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_SETTING_LINK_COUNT = (7, 3) # type: ignore NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_FULL = (0x00) # type: ignore NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_OFF = (0x01) # type: ignore NV0000_CTRL_CMD_GPU_NVLINK_BW_MODE_MIN = (0x02) # type: ignore @@ -18304,29 +19096,41 @@ NV0000_CTRL_NVD_RUNTIME_SIZE_STRING = (3) # type: ignore NV0000_CTRL_NVD_RUNTIME_SIZE_PTR = (4) # type: ignore NV0000_CTRL_NVD_RUNTIME_SIZE_CHAR = (5) # type: ignore NV0000_CTRL_NVD_RUNTIME_SIZE_FLOAT = (6) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_BUFFER_INFO = (7, 0) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_BUFFER_SIZE = (23, 8) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_BUFFER_SIZE_DISABLE = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_BUFFER_SIZE_DEFAULT = (0x00000004) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_RUNTIME_LEVEL = (28, 25) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP = (30, 29) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP_NONE = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP_32 = (0x00000001) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP_64 = (0x00000002) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_TIMESTAMP_32_DIFF = (0x00000003) # type: ignore +NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_INITED = (31, 31) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_INITED_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_INFO_PRINTFLAGS_INITED_YES = (0x00000001) # type: ignore NV0000_CTRL_CMD_NVD_GET_NVLOG_BUFFER_INFO = (0x605) # type: ignore NV0000_CTRL_NVD_GET_NVLOG_BUFFER_INFO_PARAMS_MESSAGE_ID = (0x5) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_PAUSE = (0, 0) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_PAUSE_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_PAUSE_YES = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_DISABLED = (0, 0) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_DISABLED_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_DISABLED_YES = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_TYPE = (1, 1) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_TYPE_RING = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_TYPE_NOWRAP = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_EXPANDABLE = (2, 2) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_EXPANDABLE_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_EXPANDABLE_YES = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_NONPAGED = (3, 3) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_NONPAGED_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_NONPAGED_YES = (0x00000001) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_LOCKING = (5, 4) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_LOCKING_NONE = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_LOCKING_STATE = (0x00000001) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_LOCKING_FULL = (0x00000002) # type: ignore +NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_OCA = (6, 6) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_OCA_NO = (0x00000000) # type: ignore NV0000_CTRL_NVD_NVLOG_BUFFER_INFO_FLAGS_OCA_YES = (0x00000001) # type: ignore NV0000_CTRL_CMD_NVD_GET_NVLOG = (0x606) # type: ignore @@ -18370,16 +19174,23 @@ NV0000_CTRL_CMD_SYNC_GPU_BOOST_GROUP_INFO = (0xa04) # type: ignore NV0000_SYNC_GPU_BOOST_GROUP_INFO_PARAMS_MESSAGE_ID = (0x4) # type: ignore NV0000_CTRL_CMD_SYSTEM_GET_FEATURES = (0x1f0) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_PARAMS_MESSAGE_ID = (0xF0) # type: ignore +NV0000_CTRL_SYSTEM_GET_FEATURES_SLI = (0, 0) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_SLI_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_SLI_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_FEATURES_UUID_BASED_MEM_SHARING = (3, 3) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_UUID_BASED_MEM_SHARING_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_UUID_BASED_MEM_SHARING_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_FEATURES_RM_TEST_ONLY_CODE_ENABLED = (4, 4) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_RM_TEST_ONLY_CODE_ENABLED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_FEATURES_RM_TEST_ONLY_CODE_ENABLED_TRUE = (0x00000001) # type: ignore NV0000_CTRL_CMD_SYSTEM_GET_BUILD_VERSION = (0x101) # type: ignore NV0000_CTRL_SYSTEM_GET_BUILD_VERSION_PARAMS_MESSAGE_ID = (0x1) # type: ignore NV0000_CTRL_CMD_SYSTEM_GET_CPU_INFO = (0x102) # type: ignore NV0000_CTRL_SYSTEM_GET_CPU_INFO_PARAMS_MESSAGE_ID = (0x2) # type: ignore +NV0000_CTRL_SYSTEM_CPU_FAMILY = (3, 0) # type: ignore +NV0000_CTRL_SYSTEM_CPU_EXTENDED_FAMILY = (11, 4) # type: ignore +NV0000_CTRL_SYSTEM_CPU_MODEL = (3, 0) # type: ignore +NV0000_CTRL_SYSTEM_CPU_EXTENDED_MODEL = (7, 4) # type: ignore NV0000_CTRL_SYSTEM_CPU_ID_AMD_FAMILY = 0xF # type: ignore NV0000_CTRL_SYSTEM_CPU_ID_AMD_EXTENDED_FAMILY = 0xA # type: ignore NV0000_CTRL_SYSTEM_CPU_ID_AMD_MODEL = 0x0 # type: ignore @@ -18456,6 +19267,7 @@ NV0000_CTRL_CMD_SYSTEM_GET_CHIPSET_INFO = (0x104) # type: ignore NV0000_SYSTEM_MAX_CHIPSET_STRING_LENGTH = (0x0000020) # type: ignore NV0000_SYSTEM_CHIPSET_INVALID_ID = (0xffff) # type: ignore NV0000_CTRL_SYSTEM_GET_CHIPSET_INFO_PARAMS_MESSAGE_ID = (0x4) # type: ignore +NV0000_CTRL_SYSTEM_CHIPSET_FLAG_HAS_RESIZABLE_BAR_ISSUE = (0, 0) # type: ignore NV0000_CTRL_SYSTEM_CHIPSET_FLAG_HAS_RESIZABLE_BAR_ISSUE_NO = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_CHIPSET_FLAG_HAS_RESIZABLE_BAR_ISSUE_YES = (0x00000001) # type: ignore NV0000_CTRL_SYSTEM_GET_VRR_COOKIE_PRESENT = (0x107) # type: ignore @@ -18622,30 +19434,43 @@ NV0000_CTRL_P2P_CAPS_INDEX_C2C = 7 # type: ignore NV0000_CTRL_P2P_CAPS_INDEX_PCI_BAR1 = 8 # type: ignore NV0000_CTRL_P2P_CAPS_INDEX_TABLE_SIZE = 9 # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PARAMS_MESSAGE_ID = (0x27) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_WRITES_SUPPORTED = (0, 0) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_WRITES_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_WRITES_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_READS_SUPPORTED = (1, 1) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_READS_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_READS_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PROP_SUPPORTED = (2, 2) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PROP_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PROP_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_NVLINK_SUPPORTED = (3, 3) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_NVLINK_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_NVLINK_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_ATOMICS_SUPPORTED = (4, 4) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_ATOMICS_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_ATOMICS_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_LOOPBACK_SUPPORTED = (5, 5) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_LOOPBACK_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_LOOPBACK_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_SUPPORTED = (6, 6) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_WRITES_SUPPORTED = (7, 7) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_WRITES_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_WRITES_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_READS_SUPPORTED = (8, 8) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_READS_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_READS_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_ATOMICS_SUPPORTED = (9, 9) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_ATOMICS_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_ATOMICS_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_NVLINK_SUPPORTED = (10, 10) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_NVLINK_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_INDIRECT_NVLINK_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_C2C_SUPPORTED = (12, 12) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_C2C_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_C2C_SUPPORTED_TRUE = (0x00000001) # type: ignore +NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_BAR1_SUPPORTED = (13, 13) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_BAR1_SUPPORTED_FALSE = (0x00000000) # type: ignore NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PCI_BAR1_SUPPORTED_TRUE = (0x00000001) # type: ignore NV0000_P2P_CAPS_STATUS_OK = (0x00) # type: ignore @@ -18754,10 +19579,12 @@ NV0000_CTRL_GPS_CMD_TYPE_GET_PPM_AVAILABLE_MASK = (1) # type: ignore NV0000_CTRL_GPS_CMD_TYPE_SET_PPM = (0x00000049) # type: ignore NV0000_CTRL_GPS_CMD_TYPE_SET_PPM_INDEX = (0) # type: ignore NV0000_CTRL_GPS_CMD_TYPE_SET_PPM_INDEX_MAX = (2) # type: ignore +NV0000_CTRL_GPS_PPM_INDEX = (7, 0) # type: ignore NV0000_CTRL_GPS_PPM_INDEX_MAXPERF = (0) # type: ignore NV0000_CTRL_GPS_PPM_INDEX_BALANCED = (1) # type: ignore NV0000_CTRL_GPS_PPM_INDEX_QUIET = (2) # type: ignore NV0000_CTRL_GPS_PPM_INDEX_INVALID = (0xFF) # type: ignore +NV0000_CTRL_GPS_PPM_MASK = (15, 8) # type: ignore NV0000_CTRL_GPS_PPM_MASK_INVALID = (0) # type: ignore NV0000_CTRL_GPS_CMD_PS_STATUS_OFF = (0) # type: ignore NV0000_CTRL_GPS_CMD_PS_STATUS_ON = (1) # type: ignore @@ -18844,10 +19671,13 @@ NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_DC_SYSTEM_POWER_LIMITS_CASE = 5 # type: ig NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_CPU_TDP_LIMIT_CONTROL_CASE = 6 # type: ignore NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_SUPPORTED = (0x00000000) # type: ignore NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_DYNAMIC_PARAMS = (0x00000002) # type: ignore +NVPCF0100_CTRL_CONFIG_DSM_FUNC_GET_SUPPORTED_IS_SUPPORTED = (0, 0) # type: ignore NVPCF0100_CTRL_CONFIG_DSM_FUNC_GET_SUPPORTED_IS_SUPPORTED_YES = 1 # type: ignore NVPCF0100_CTRL_CONFIG_DSM_FUNC_GET_SUPPORTED_IS_SUPPORTED_NO = 0 # type: ignore +NVPCF0100_CTRL_CONFIG_DSM_FUNC_GET_DC_SYSTEM_POWER_LIMITS_IS_SUPPORTED = (8, 8) # type: ignore NVPCF0100_CTRL_CONFIG_DSM_FUNC_GET_DC_SYSTEM_POWER_LIMITS_IS_SUPPORTED_YES = 1 # type: ignore NVPCF0100_CTRL_CONFIG_DSM_FUNC_GET_DC_SYSTEM_POWER_LIMITS_IS_SUPPORTED_NO = 0 # type: ignore +NVPCF0100_CTRL_CONFIG_DSM_FUNC_CPU_TDP_LIMIT_CONTROL_IS_SUPPORTED = (9, 9) # type: ignore NVPCF0100_CTRL_CONFIG_DSM_FUNC_CPU_TDP_LIMIT_CONTROL_IS_SUPPORTED_YES = 1 # type: ignore NVPCF0100_CTRL_CONFIG_DSM_FUNC_CPU_TDP_LIMIT_CONTROL_IS_SUPPORTED_NO = 0 # type: ignore NVPCF0100_CTRL_CONFIG_DSM_2X_VERSION = (0x00000200) # type: ignore @@ -19066,10 +19896,12 @@ NV0000_CTRL_PFM_REQ_HNDLR_CMD_TYPE_GET_PPM_AVAILABLE_MASK = (1) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_TYPE_SET_PPM = (0x00000049) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_TYPE_SET_PPM_INDEX = (0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_TYPE_SET_PPM_INDEX_MAX = (2) # type: ignore +NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX = (7, 0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX_MAXPERF = (0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX_BALANCED = (1) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX_QUIET = (2) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_INDEX_INVALID = (0xFF) # type: ignore +NV0000_CTRL_PFM_REQ_HNDLR_PPM_MASK = (15, 8) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_PPM_MASK_INVALID = (0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_PS_STATUS_OFF = (0) # type: ignore NV0000_CTRL_PFM_REQ_HNDLR_CMD_PS_STATUS_ON = (1) # type: ignore @@ -19095,6 +19927,7 @@ NV0000_CTRL_OS_UNIX_FLAGS_USER_CACHE_FLUSH_INVALIDATE = (0x00000003) # type: ign NV0000_CTRL_CMD_OS_UNIX_GET_CONTROL_FILE_DESCRIPTOR = (0x3d04) # type: ignore NV0000_CTRL_CMD_OS_UNIX_EXPORT_OBJECT_TO_FD = (0x3d05) # type: ignore NV0000_CTRL_OS_UNIX_EXPORT_OBJECT_TO_FD_PARAMS_MESSAGE_ID = (0x5) # type: ignore +NV0000_CTRL_OS_UNIX_EXPORT_OBJECT_TO_FD_FLAGS_EMPTY_FD = (0, 0) # type: ignore NV0000_CTRL_OS_UNIX_EXPORT_OBJECT_TO_FD_FLAGS_EMPTY_FD_FALSE = (0x00000000) # type: ignore NV0000_CTRL_OS_UNIX_EXPORT_OBJECT_TO_FD_FLAGS_EMPTY_FD_TRUE = (0x00000001) # type: ignore NV0000_CTRL_CMD_OS_UNIX_IMPORT_OBJECT_FROM_FD = (0x3d06) # type: ignore @@ -19118,6 +19951,9 @@ NV0000_CTRL_CMD_OS_UNIX_IMPORT_OBJECT_TYPE_SYSMEM = 2 # type: ignore NV0000_CTRL_CMD_OS_UNIX_IMPORT_OBJECT_TYPE_FABRIC = 3 # type: ignore NV0000_CTRL_CMD_OS_UNIX_IMPORT_OBJECT_TYPE_FABRIC_MC = 4 # type: ignore NV0000_CTRL_OS_UNIX_IMPORT_OBJECTS_FROM_FD_PARAMS_MESSAGE_ID = (0xC) # type: ignore +NV0000_BUSDEVICE_DOMAIN = (31, 16) # type: ignore +NV0000_BUSDEVICE_BUS = (15, 8) # type: ignore +NV0000_BUSDEVICE_DEVICE = (7, 0) # type: ignore NV0000_CTRL_CMD_VGPU_CREATE_DEVICE = (0xc02) # type: ignore NV0000_CTRL_VGPU_CREATE_DEVICE_PARAMS_MESSAGE_ID = (0x2) # type: ignore NV0000_CTRL_CMD_VGPU_GET_INSTANCES = (0xc03) # type: ignore @@ -19151,6 +19987,7 @@ NV0080_CTRL_NVLINK = (0x21) # type: ignore NV0080_CTRL_CMD_NULL = (0x800000) # type: ignore NV0080_CTRL_CMD_BIF_RESET = (0x800102) # type: ignore NV0080_CTRL_BIF_RESET_PARAMS_MESSAGE_ID = (0x2) # type: ignore +NV0080_CTRL_BIF_RESET_FLAGS_TYPE = (4, 0) # type: ignore NV0080_CTRL_BIF_RESET_FLAGS_TYPE_SW_RESET = 0x1 # type: ignore NV0080_CTRL_BIF_RESET_FLAGS_TYPE_SBR = 0x2 # type: ignore NV0080_CTRL_BIF_RESET_FLAGS_TYPE_FUNDAMENTAL = 0x3 # type: ignore @@ -19161,8 +19998,10 @@ NV0080_CTRL_BIF_RESET_FLAGS_TYPE_OOBHUB_TRIGGER = 0x7 # type: ignore NV0080_CTRL_BIF_RESET_FLAGS_TYPE_BASE = 0x8 # type: ignore NV0080_CTRL_CMD_BIF_SET_ASPM_FEATURE = (0x800104) # type: ignore NV0080_CTRL_BIF_SET_ASPM_FEATURE_PARAMS_MESSAGE_ID = (0x4) # type: ignore +NV0080_CTRL_BIF_ASPM_FEATURE_DT_L0S = (0, 0) # type: ignore NV0080_CTRL_BIF_ASPM_FEATURE_DT_L0S_ENABLED = 0x000000001 # type: ignore NV0080_CTRL_BIF_ASPM_FEATURE_DT_L0S_DISABLED = 0x000000000 # type: ignore +NV0080_CTRL_BIF_ASPM_FEATURE_DT_L1 = (1, 1) # type: ignore NV0080_CTRL_BIF_ASPM_FEATURE_DT_L1_ENABLED = 0x000000001 # type: ignore NV0080_CTRL_BIF_ASPM_FEATURE_DT_L1_DISABLED = 0x000000000 # type: ignore NV0080_CTRL_CMD_BIF_ASPM_CYA_UPDATE = (0x800105) # type: ignore @@ -19174,32 +20013,42 @@ NV0080_CTRL_BSP_GET_CAPS_PARAMS_MESSAGE_ID = (0x1) # type: ignore NV0080_CTRL_BSP_CAPS_TBL_SIZE = 8 # type: ignore NV0080_CTRL_CMD_BSP_GET_CAPS_V2 = (0x801c02) # type: ignore NV0080_CTRL_BSP_GET_CAPS_PARAMS_V2_MESSAGE_ID = (0x2) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_VALID = (0, 0) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_VALID_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_VALID_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ENCRYPTED = (2, 1) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ENCRYPTED_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ENCRYPTED_TRUE = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ENCRYPTED_NOT_SUPPORTED = (0x00000002) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE = (6, 3) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE_VIDEO_MEMORY = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE_PEER_MEMORY = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE_SYSTEM_COHERENT_MEMORY = (0x00000002) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_APERTURE_SYSTEM_NON_COHERENT_MEMORY = (0x00000003) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS = (10, 7) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS_NONE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS_1 = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS_2 = (0x00000002) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_COMPTAGS_4 = (0x00000004) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_GPU_CACHED = (12, 11) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_GPU_CACHED_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_GPU_CACHED_TRUE = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_GPU_CACHED_NOT_SUPPORTED = (0x00000002) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS = (14, 13) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS_READ_WRITE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS_READ_ONLY = (0x00000001) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS_WRITE_ONLY = (0x00000002) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_SHADER_ACCESS_NOT_SUPPORTED = (0x00000003) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_READ_ONLY = (15, 15) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_READ_ONLY_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_READ_ONLY_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ATOMIC = (16, 16) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ATOMIC_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ATOMIC_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ACCESS_COUNTING = (17, 17) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ACCESS_COUNTING_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_ACCESS_COUNTING_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_PRIVILEGED = (18, 18) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_PRIVILEGED_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_PTE_INFO_PARAMS_FLAGS_PRIVILEGED_TRUE = (0x00000001) # type: ignore NV0080_CTRL_CMD_DMA_GET_PTE_INFO = (0x801801) # type: ignore @@ -19212,12 +20061,16 @@ NV0080_CTRL_CMD_DMA_FILL_PTE_MEM = (0x801802) # type: ignore NV0080_CTRL_DMA_FILL_PTE_MEM_PARAMS_MESSAGE_ID = (0x2) # type: ignore NV0080_CTRL_CMD_DMA_FLUSH = (0x801805) # type: ignore NV0080_CTRL_DMA_FLUSH_PARAMS_MESSAGE_ID = (0x5) # type: ignore +NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2 = (0, 0) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_COMPTAG = (1, 1) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_COMPTAG_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_COMPTAG_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_FB = (2, 2) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_FB_DISABLE = (0x00000000) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_FB_ENABLE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_INVALIDATE = (4, 3) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_INVALIDATE_SYSMEM = (0x00000001) # type: ignore NV0080_CTRL_DMA_FLUSH_TARGET_UNIT_L2_INVALIDATE_PEERMEM = (0x00000002) # type: ignore NV0080_CTRL_CMD_DMA_ADV_SCHED_GET_VA_CAPS = (0x801806) # type: ignore @@ -19239,6 +20092,7 @@ NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS_PDE_SIZE_QUARTER = 3 # type: ignore NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS_PDE_SIZE_EIGHTH = 4 # type: ignore NV0080_CTRL_CMD_DMA_INVALIDATE_TLB = (0x80180c) # type: ignore NV0080_CTRL_DMA_INVALIDATE_TLB_PARAMS_MESSAGE_ID = (0xC) # type: ignore +NV0080_CTRL_DMA_INVALIDATE_TLB_ALL = (0, 0) # type: ignore NV0080_CTRL_DMA_INVALIDATE_TLB_ALL_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_INVALIDATE_TLB_ALL_TRUE = (0x00000001) # type: ignore NV0080_CTRL_CMD_DMA_GET_CAPS = (0x80180d) # type: ignore @@ -19256,14 +20110,18 @@ NV0080_CTRL_DMA_UPDATE_PDE_2_PT_IDX_SMALL = 0 # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_PT_IDX_BIG = 1 # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_PT_IDX__SIZE = 2 # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_PARAMS_MESSAGE_ID = (0xF) # type: ignore +NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FLUSH_PDE_CACHE = (0, 0) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FLUSH_PDE_CACHE_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FLUSH_PDE_CACHE_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FORCE_OVERRIDE = (1, 1) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FORCE_OVERRIDE_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_FORCE_OVERRIDE_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE = (3, 2) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE_FULL = (0x00000000) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE_HALF = (0x00000001) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE_QUARTER = (0x00000002) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_PDE_SIZE_EIGHTH = (0x00000003) # type: ignore +NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_SPARSE = (4, 4) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_SPARSE_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_UPDATE_PDE_2_FLAGS_SPARSE_TRUE = (0x00000001) # type: ignore NV0080_CTRL_DMA_ENABLE_PRIVILEGED_RANGE = (0x801810) # type: ignore @@ -19272,15 +20130,20 @@ NV0080_CTRL_DMA_SET_DEFAULT_VASPACE = (0x801812) # type: ignore NV0080_CTRL_DMA_SET_DEFAULT_VASPACE_PARAMS_MESSAGE_ID = (0x12) # type: ignore NV0080_CTRL_CMD_DMA_SET_PAGE_DIRECTORY = (0x801813) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_PARAMS_MESSAGE_ID = (0x13) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_APERTURE = (1, 0) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_APERTURE_VIDMEM = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_APERTURE_SYSMEM_COH = (0x00000001) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_APERTURE_SYSMEM_NONCOH = (0x00000002) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_PRESERVE_PDES = (2, 2) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_PRESERVE_PDES_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_PRESERVE_PDES_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_ALL_CHANNELS = (3, 3) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_ALL_CHANNELS_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_ALL_CHANNELS_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_IGNORE_CHANNEL_BUSY = (4, 4) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_IGNORE_CHANNEL_BUSY_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_IGNORE_CHANNEL_BUSY_TRUE = (0x00000001) # type: ignore +NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_EXTEND_VASPACE = (5, 5) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_EXTEND_VASPACE_FALSE = (0x00000000) # type: ignore NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_FLAGS_EXTEND_VASPACE_TRUE = (0x00000001) # type: ignore NV0080_CTRL_CMD_DMA_UNSET_PAGE_DIRECTORY = (0x801814) # type: ignore @@ -19305,6 +20168,7 @@ NV0080_CTRL_CMD_FIFO_GET_CAPS = (0x801701) # type: ignore NV0080_CTRL_FIFO_GET_CAPS_PARAMS_MESSAGE_ID = (0x1) # type: ignore NV0080_CTRL_FIFO_CAPS_TBL_SIZE = 2 # type: ignore NV0080_CTRL_CMD_FIFO_GET_ENGINE_CONTEXT_PROPERTIES = (0x801707) # type: ignore +NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_ENGINE_ID = (4, 0) # type: ignore NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_ENGINE_ID_GRAPHICS = (0x00000000) # type: ignore NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_ENGINE_ID_VLD = (0x00000001) # type: ignore NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_ENGINE_ID_VIDEO = (0x00000002) # type: ignore @@ -19652,12 +20516,15 @@ NV2080_CTRL_CMD_BIOS_GET_POST_TIME = (0x20800809) # type: ignore NV2080_CTRL_CMD_BIOS_GET_POST_TIME_PARAMS_MESSAGE_ID = (0x9) # type: ignore NV2080_CTRL_CMD_BIOS_GET_UEFI_SUPPORT = (0x2080080b) # type: ignore NV2080_CTRL_BIOS_GET_UEFI_SUPPORT_PARAMS_MESSAGE_ID = (0xB) # type: ignore +NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE = (1, 0) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE_NO = (0x00000000) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE_YES = (0x00000001) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE_PLACEHOLDER = (0x00000002) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_PRESENCE_HIDDEN = (0x00000003) # type: ignore +NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_RUNNING = (2, 2) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_RUNNING_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_RUNNING_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_IS_EFI_INIT = (3, 3) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_IS_EFI_INIT_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BIOS_UEFI_SUPPORT_FLAGS_IS_EFI_INIT_TRUE = (0x00000001) # type: ignore NV2080_CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_BIT_SIZE = 32 # type: ignore @@ -19743,45 +20610,55 @@ NV2080_CTRL_BUS_INFO_TYPE_FPCI = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_TYPE_AXI = (0x00000008) # type: ignore NV2080_CTRL_BUS_INFO_CAPS_NEED_IO_FLUSH = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_CAPS_CHIP_INTEGRATED = (0x00000002) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED = (3, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_2500MBPS = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_5000MBPS = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_8000MBPS = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_16000MBPS = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_32000MBPS = (0x00000005) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_SPEED_64000MBPS = (0x00000006) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_MAX_WIDTH = (9, 4) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_ASPM = (11, 10) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_ASPM_NONE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_ASPM_L0S = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_ASPM_L0S_L1 = (0x00000003) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN = (15, 12) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN1 = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN2 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN3 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN4 = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN5 = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GEN_GEN6 = (0x00000005) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL = (19, 16) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN1 = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN2 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN3 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN4 = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN5 = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_CURR_LEVEL_GEN6 = (0x00000005) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN = (23, 20) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN1 = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN2 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN3 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN4 = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN5 = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_GPU_GEN_GEN6 = (0x00000005) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_SPEED_CHANGES = (24, 24) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_SPEED_CHANGES_ENABLED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CAP_SPEED_CHANGES_DISABLED = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM = (1, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM_DISABLED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM_L0S = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM_L1 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_ASPM_L0S_L1 = (0x00000003) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED = (19, 16) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_2500MBPS = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_5000MBPS = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_8000MBPS = (0x00000003) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_16000MBPS = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_32000MBPS = (0x00000005) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_SPEED_64000MBPS = (0x00000006) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH = (25, 20) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_UNDEFINED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X1 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X2 = (0x00000002) # type: ignore @@ -19790,18 +20667,25 @@ NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X8 = (0x00000008) # type: NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X12 = (0x0000000C) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X16 = (0x00000010) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_CTRL_STATUS_LINK_WIDTH_X32 = (0x00000020) # type: ignore +NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_CTXDMA = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_CTXDMA_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_CTXDMA_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_GPUGART = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_GPUGART_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_COHERENT_DMA_FLAGS_GPUGART_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_CTXDMA = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_CTXDMA_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_CTXDMA_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_GPUGART = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_GPUGART_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_GPUGART_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_COH_MODE = (3, 3) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_COH_MODE_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_NONCOHERENT_DMA_FLAGS_COH_MODE_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_REQFLUSH = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_REQFLUSH_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_REQFLUSH_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_UNIFIED = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_UNIFIED_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_GPU_GART_FLAGS_UNIFIED_TRUE = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_CORR_ERROR = (0x00000001) # type: ignore @@ -19809,8 +20693,10 @@ NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_NON_FATAL_ERROR = (0x00000002) # type: ign NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_FATAL_ERROR = (0x00000004) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_UNSUPP_REQUEST = (0x00000008) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_ERRORS_ENTERED_RECOVERY = (0x00000010) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CAP = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CAP_FALSE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CAP_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CURR_LEVEL = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CURR_LEVEL_GEN1 = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GEN2_INFO_CURR_LEVEL_GEN2 = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_UNCORR_TRAINING_ERR = (0x00000001) # type: ignore @@ -19830,42 +20716,68 @@ NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_CORR_BAD_DLLP = (0x00040000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_CORR_RPLY_ROLLOVER = (0x00080000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_CORR_RPLY_TIMEOUT = (0x00100000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_LINK_AER_CORR_ADVISORY_NONFATAL = (0x00200000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_PCIE = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_PCIE_ERROR = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_PCIE_PRESENT = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_SUPPORTED = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_SUPPORTED_NO = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_SUPPORTED_YES = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_CL_CAPABLE = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_CL_CAPABLE_NO = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_CL_CAPABLE_YES = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_OS_SUPPORTED = (3, 3) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_OS_SUPPORTED_NO = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_OS_SUPPORTED_YES = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_BR04 = (4, 4) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_BR04_MISSING = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_ASLM_STATUS_BR04_PRESENT = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_VALID = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_VALID_NO = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_VALID_YES = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM = (2, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_DISABLED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_L0S = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_L1 = (0x00000002) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_GPU_CYA_ASPM_L0S_L1 = (0x00000003) # type: ignore +NV2080_CTRL_BUS_INFO_MSI_STATUS = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_MSI_STATUS_DISABLED = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_MSI_STATUS_ENABLED = (0x00000001) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_2_SUPPORTED = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_2_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_2_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_1_SUPPORTED = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_1_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PCIPM_L1_1_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_2_SUPPORTED = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_2_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_2_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_1_SUPPORTED = (3, 3) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_1_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_ASPM_L1_1_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_L1PM_SUPPORTED = (4, 4) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_L1PM_SUPPORTED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_L1PM_SUPPORTED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_RESERVED = (7, 5) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_PORT_RESTORE_TIME = (15, 8) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_T_POWER_ON_SCALE = (17, 16) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CAP_T_POWER_ON_VALUE = (23, 19) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_2_ENABLED = (0, 0) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_2_ENABLED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_2_ENABLED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_1_ENABLED = (1, 1) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_1_ENABLED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_PCIPM_L1_1_ENABLED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_2_ENABLED = (2, 2) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_2_ENABLED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_2_ENABLED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_1_ENABLED = (3, 3) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_1_ENABLED_YES = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_ASPM_L1_1_ENABLED_NO = (0x00000000) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_COMMON_MODE_RESTORE_TIME = (15, 8) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_LTR_L1_2_THRESHOLD_VALUE = (25, 16) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL1_LTR_L1_2_THRESHOLD_SCALE = (31, 29) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL2_T_POWER_ON_SCALE = (1, 0) # type: ignore +NV2080_CTRL_BUS_INFO_PCIE_L1_SS_CTRL2_T_POWER_ON_VALUE = (7, 3) # type: ignore NV2080_CTRL_BUS_INFO_INDEX_SYSMEM_CONNECTION_TYPE_PCIE = (0x00000000) # type: ignore NV2080_CTRL_BUS_INFO_INDEX_SYSMEM_CONNECTION_TYPE_NVLINK = (0x00000001) # type: ignore NV2080_CTRL_BUS_INFO_INDEX_SYSMEM_CONNECTION_TYPE_C2C = (0x00000002) # type: ignore @@ -19999,18 +20911,25 @@ NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS_MESSAGE_ID = (0x29) # type: NV2080_CTRL_CMD_BUS_PCIE_ATOMICS_CAPTYPE_SYSMEM = 0x0 # type: ignore NV2080_CTRL_CMD_BUS_PCIE_ATOMICS_CAPTYPE_GPU = 0x1 # type: ignore NV2080_CTRL_CMD_BUS_PCIE_ATOMICS_CAPTYPE_P2P = 0x2 # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_32 = (0, 0) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_64 = (1, 1) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_FETCHADD_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_32 = (2, 2) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_64 = (3, 3) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_SWAP_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_32 = (4, 4) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_64 = (5, 5) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_128 = (6, 6) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_128_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_CAS_128_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS = (0x2080182a) # type: ignore @@ -20029,20 +20948,28 @@ NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_OP_TYPE_FMIN = 11 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_OP_TYPE_FMAX = 12 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_OP_TYPE_COUNT = 13 # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS_MESSAGE_ID = (0x2A) # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SCALAR = (0, 0) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SCALAR_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SCALAR_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_VECTOR = (1, 1) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_VECTOR_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_VECTOR_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_REDUCTION = (2, 2) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_REDUCTION_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_REDUCTION_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_32 = (3, 3) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_32_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_32_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_64 = (4, 4) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_64_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_64_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_128 = (5, 5) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_128_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIZE_128_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIGNED = (6, 6) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIGNED_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_SIGNED_NO = 0 # type: ignore +NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_UNSIGNED = (7, 7) # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_UNSIGNED_YES = 1 # type: ignore NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_ATTRIB_UNSIGNED_NO = 0 # type: ignore NV2080_CTRL_CMD_BUS_GET_C2C_INFO = (0x2080182b) # type: ignore @@ -20067,18 +20994,25 @@ NV2080_CTRL_CMD_BUS_UNSET_P2P_MAPPING = (0x2080182f) # type: ignore NV2080_CTRL_BUS_UNSET_P2P_MAPPING_PARAMS_MESSAGE_ID = (0x2F) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS = (0x20801830) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_PARAMS_MESSAGE_ID = (0x30) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_32 = (0, 0) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_64 = (1, 1) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_FETCHADD_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_32 = (2, 2) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_64 = (3, 3) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_SWAP_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_32 = (4, 4) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_32_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_32_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_64 = (5, 5) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_64_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_64_NO = (0x00000000) # type: ignore +NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_128 = (6, 6) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_128_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_BUS_GET_PCIE_CPL_ATOMICS_CAPS_CAS_128_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_BUS_GET_C2C_LPWR_STATS = (0x20801831) # type: ignore @@ -20133,28 +21067,40 @@ NV2080_CTRL_CLK_DOMAIN_TEGRA_GPCCLK = (0x00000001) # type: ignore NV2080_CTRL_CLK_DOMAIN_TEGRA_NVDCLK = (0x00000002) # type: ignore NV2080_CTRL_CMD_DMA_INVALIDATE_TLB = (0x20802502) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_PARAMS_MESSAGE_ID = (0x2) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_GRAPHICS = (0, 0) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_GRAPHICS_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_GRAPHICS_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VIDEO = (1, 1) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VIDEO_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VIDEO_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_DISPLAY = (2, 2) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_DISPLAY_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_DISPLAY_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_CAPTURE = (3, 3) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_CAPTURE_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_CAPTURE_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_IFB = (4, 4) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_IFB_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_IFB_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MV = (5, 5) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MV_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MV_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MPEG = (6, 6) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MPEG_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_MPEG_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VLD = (7, 7) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VLD_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_VLD_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_ENCRYPTION = (8, 8) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_ENCRYPTION_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_ENCRYPTION_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_PERFMON = (9, 9) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_PERFMON_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_PERFMON_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_POSTPROCESS = (10, 10) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_POSTPROCESS_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_POSTPROCESS_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_BAR = (11, 11) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_BAR_FALSE = (0x00000000) # type: ignore NV2080_CTRL_DMA_INVALIDATE_TLB_ENGINE_BAR_TRUE = (0x00000001) # type: ignore NV2080_CTRL_DMA_INFO_INDEX_SYSTEM_ADDRESS_SIZE = (0x000000000) # type: ignore @@ -20330,24 +21276,32 @@ NV2080_CTRL_CMD_FB_GET_CAL_FLAG_NONE = (0x00000000) # type: ignore NV2080_CTRL_CMD_FB_GET_CAL_FLAG_RESET = (0x00000001) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL = (0x2080130d) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_PARAMS_MESSAGE_ID = (0xD) # type: ignore +NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_WRITE_BACK = (0, 0) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_WRITE_BACK_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_WRITE_BACK_YES = (0x00000001) # type: ignore +NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_INVALIDATE = (1, 1) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_INVALIDATE_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_INVALIDATE_YES = (0x00000001) # type: ignore +NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_FB_FLUSH = (2, 2) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_FB_FLUSH_NO = (0x00000000) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE_IRQL_FLAGS_FB_FLUSH_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_FB_FLUSH_GPU_CACHE = (0x2080130e) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_MAX_ADDRESSES = 500 # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_PARAMS_MESSAGE_ID = (0xE) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_APERTURE = (1, 0) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_APERTURE_VIDEO_MEMORY = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_APERTURE_SYSTEM_MEMORY = (0x00000001) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_APERTURE_PEER_MEMORY = (0x00000002) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_WRITE_BACK = (2, 2) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_WRITE_BACK_NO = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_WRITE_BACK_YES = (0x00000001) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_INVALIDATE = (3, 3) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_INVALIDATE_NO = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_INVALIDATE_YES = (0x00000001) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FLUSH_MODE = (4, 4) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FLUSH_MODE_ADDRESS_ARRAY = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FLUSH_MODE_FULL_CACHE = (0x00000001) # type: ignore +NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FB_FLUSH = (5, 5) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FB_FLUSH_NO = (0x00000000) # type: ignore NV2080_CTRL_FB_FLUSH_GPU_CACHE_FLAGS_FB_FLUSH_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_FB_IS_KIND = (0x20801313) # type: ignore @@ -20394,8 +21348,10 @@ NV2080_CTRL_FB_OFFLINED_PAGES_SOURCE_MULTIPLE_SBE = NV2080_CTRL_FB_OFFLINED_PAGE NV2080_CTRL_FB_OFFLINED_PAGES_SOURCE_DBE = NV2080_CTRL_FB_OFFLINED_PAGES_SOURCE_DPR_DBE # type: ignore NV2080_CTRL_FB_OFFLINE_PAGES_PARAMS_MESSAGE_ID = (0x21) # type: ignore NV2080_CTRL_CMD_FB_GET_OFFLINED_PAGES = (0x20801322) # type: ignore +NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_SBE = (0, 0) # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_SBE_FALSE = 0 # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_SBE_TRUE = 1 # type: ignore +NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_DBE = (1, 1) # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_DBE_FALSE = 0 # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_RETIREMENT_PENDING_DBE_TRUE = 1 # type: ignore NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS_MESSAGE_ID = (0x22) # type: ignore @@ -20446,14 +21402,17 @@ NV2080_CTRL_CMD_FB_GET_MEM_ALIGNMENT = (0x20801342) # type: ignore NV2080_CTRL_FB_GET_MEM_ALIGNMENT_PARAMS_MESSAGE_ID = (0x42) # type: ignore NV2080_CTRL_CMD_FB_GET_CBC_BASE_ADDR = (0x20801343) # type: ignore NV2080_CTRL_CMD_FB_GET_CBC_BASE_ADDR_PARAMS_MESSAGE_ID = (0x43) # type: ignore +NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING = (0, 0) # type: ignore NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING_FALSE = 0 # type: ignore NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING_TRUE = 1 # type: ignore NV2080_CTRL_FB_REMAPPED_ROW_SOURCE_SBE_FIELD = (0x00000002) # type: ignore NV2080_CTRL_FB_REMAPPED_ROW_SOURCE_DBE_FIELD = (0x00000003) # type: ignore NV2080_CTRL_FB_REMAPPED_ROWS_MAX_ROWS = (0x00000200) # type: ignore NV2080_CTRL_CMD_FB_GET_REMAPPED_ROWS = (0x20801344) # type: ignore +NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_PENDING = NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_PENDING_FALSE = NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING_FALSE # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_PENDING_TRUE = NV2080_CTRL_FB_REMAP_ENTRY_FLAGS_PENDING_TRUE # type: ignore +NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_FAILURE = (1, 1) # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_FAILURE_FALSE = 0 # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_FLAGS_FAILURE_TRUE = 1 # type: ignore NV2080_CTRL_FB_GET_REMAPPED_ROWS_PARAMS_MESSAGE_ID = (0x44) # type: ignore @@ -20494,10 +21453,13 @@ NV2080_CTRL_FB_GET_DYNAMIC_OFFLINED_PAGES_PARAMS_MESSAGE_ID = (0x48) # type: ign NV2080_CTRL_FB_DYNAMIC_BLACKLISTED_PAGES_SOURCE_INVALID = (0x00000000) # type: ignore NV2080_CTRL_FB_DYNAMIC_BLACKLISTED_PAGES_SOURCE_DPR_DBE = (0x00000001) # type: ignore NV2080_CTRL_CMD_FB_GET_CLIENT_ALLOCATION_INFO = (0x20801349) # type: ignore +NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_TYPE = (4, 0) # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_TYPE_SYSMEM = 0 # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_TYPE_VIDMEM = 1 # type: ignore +NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_SHARED = (5, 5) # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_SHARED_FALSE = 0 # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_SHARED_TRUE = 1 # type: ignore +NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_OWNER = (6, 6) # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_OWNER_FALSE = 0 # type: ignore NV2080_CTRL_CMD_FB_ALLOCATION_FLAGS_OWNER_TRUE = 1 # type: ignore NV2080_CTRL_CMD_FB_GET_CLIENT_ALLOCATION_INFO_PARAMS_MESSAGE_ID = (0x49) # type: ignore @@ -20545,6 +21507,7 @@ NV2080_CTRL_FIFO_BIND_ENGINES_PARAMS_MESSAGE_ID = (0x3) # type: ignore NV2080_CTRL_CMD_FIFO_BIND_ENGINES = (0x20801103) # type: ignore NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES = (0x20801104) # type: ignore NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES_PARAMS_MESSAGE_ID = (0x4) # type: ignore +NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES_FLAGS_ERROR_ON_STUCK_SEMAPHORE = (0, 0) # type: ignore NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES_FLAGS_ERROR_ON_STUCK_SEMAPHORE_FALSE = (0x00000000) # type: ignore NV2080_CTRL_CMD_SET_OPERATIONAL_PROPERTIES_FLAGS_ERROR_ON_STUCK_SEMAPHORE_TRUE = (0x00000001) # type: ignore NV2080_CTRL_CMD_FIFO_GET_PHYSICAL_CHANNEL_COUNT = (0x20801108) # type: ignore @@ -20619,6 +21582,7 @@ NV2080_CTRL_CMD_FIFO_RUNLIST_SET_SCHED_POLICY = (0x20801115) # type: ignore NV2080_CTRL_FIFO_RUNLIST_SCHED_POLICY_DEFAULT = 0x0 # type: ignore NV2080_CTRL_FIFO_RUNLIST_SCHED_POLICY_CHANNEL_INTERLEAVED = 0x1 # type: ignore NV2080_CTRL_FIFO_RUNLIST_SCHED_POLICY_CHANNEL_INTERLEAVED_WDDM = 0x2 # type: ignore +NV2080_CTRL_CMD_FIFO_RUNLIST_SET_SCHED_POLICY_FLAGS_RESTORE = (0, 0) # type: ignore NV2080_CTRL_CMD_FIFO_RUNLIST_SET_SCHED_POLICY_FLAGS_RESTORE_FALSE = (0x00000000) # type: ignore NV2080_CTRL_CMD_FIFO_RUNLIST_SET_SCHED_POLICY_FLAGS_RESTORE_TRUE = (0x00000001) # type: ignore NV2080_CTRL_FIFO_RUNLIST_SET_SCHED_POLICY_PARAMS_MESSAGE_ID = (0x15) # type: ignore @@ -20687,30 +21651,57 @@ NV2080_CTRL_FLCN_GET_ENGINE_ARCH_DEFAULT = 0x0 # type: ignore NV2080_CTRL_FLCN_GET_ENGINE_ARCH_FALCON = 0x1 # type: ignore NV2080_CTRL_FLCN_GET_ENGINE_ARCH_RISCV = 0x2 # type: ignore NV2080_CTRL_FLCN_GET_ENGINE_ARCH_RISCV_EB = 0x3 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_COMM_FLAG = (31, 31) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_COMM_HEAD = (30, 30) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_VARIABLE = (29, 29) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EXTEND = (28, 28) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EVENTID_DRF_EXTENT = (27) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EVENTID_DRF_BASE = (20) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EVENTIDCOMPACT_DRF_EXTENT = (28) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_EVENTIDCOMPACT_DRF_BASE = (24) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_LENGTH = (19, 8) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOAD = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT = (23, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_HEAD_TIME = (29, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_DATA_PAYLOAD = (30, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_TASK_ID = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON = (10, 8) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_YIELD = 0x0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_INT0 = 0x1 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_TIMER_TICK = 0x2 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_QUEUE_BLOCK = 0x3 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_REASON_DMA_SUSPENDED = 0x4 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_CTXSW_END_ODP_MISS_COUNT = (23, 11) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TIMER_TICK_TIME_SLIP = (23, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_BEGIN_TASK_ID = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_BEGIN_UNIT_ID = (15, 8) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_BEGIN_EVENT_TYPE = (23, 16) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_TASK_ID = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_CALLBACK_ID = (15, 8) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_RPC_FUNC = (15, 8) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_RPC_FUNC_BOBJ_CMD_BASE = 0xF0 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_END_CLASS_ID = (23, 16) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_RM_QUEUE_LATENCY_SHIFT = 10 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_SPECIAL_EVENT_TASK_ID = (7, 0) # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_SPECIAL_EVENT_ID = (23, 8) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_SPECIAL_EVENT_ID_RESERVED = 0x000000 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_SPECIAL_EVENT_ID_CB_ENQUEUE_FAIL = 0x000001 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_TASK_EVENT_LATENCY_SHIFT = 6 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_GENERIC_ID = (11, 0) # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_GENERIC_ID_INVALID = 0x000 # type: ignore NV2080_CTRL_FLCN_USTREAMER_EVENT_TAIL_PAYLOADCOMPACT_GENERIC_ID_VF_SWITCH_TOTAL = 0x001 # type: ignore NV2080_CTRL_FLCN_USTREAMER_FEATURE_DEFAULT = 0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_FEATURE__COUNT = 1 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IDLE_FLUSH = (0, 0) # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IDLE_FLUSH_DISABLED = 0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IDLE_FLUSH_ENABLED = 1 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_FULL_FLUSH = (1, 1) # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_FULL_FLUSH_DISABLED = 0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_FULL_FLUSH_ENABLED = 1 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IMMEDIATE_FLUSH = (2, 2) # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IMMEDIATE_FLUSH_DISABLED = 0 # type: ignore NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IMMEDIATE_FLUSH_ENABLED = 1 # type: ignore +NV2080_CTRL_FLCN_USTREAMER_QUEUE_POLICY_IDLE_THRESHOLD = (31, 8) # type: ignore NV2080_CTRL_FLCN_USTREAMER_NUM_EVT_TYPES_COMPACT = (0x20) # type: ignore NV2080_CTRL_FLCN_USTREAMER_NUM_EVT_TYPES = (0x120) # type: ignore NV2080_CTRL_FLCN_USTREAMER_MASK_SIZE_BYTES = (0x24) # type: ignore @@ -20743,6 +21734,7 @@ NV_GRID_LICENSED_PRODUCT_GAMING = "NVIDIA Cloud Gaming" # type: ignore NV_GRID_LICENSED_PRODUCT_VPC = "NVIDIA Virtual PC" # type: ignore NV_GRID_LICENSED_PRODUCT_VAPPS = "NVIDIA Virtual Applications" # type: ignore NV_GRID_LICENSED_PRODUCT_COMPUTE = "NVIDIA Virtual Compute Server" # type: ignore +NV2080_CTRL_GPU_INFO_INDEX_INDEX = (23, 0) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_ECID_LO32 = (0x00000001) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_ECID_HI32 = (0x00000002) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_MINOR_REVISION_EXT = (0x00000004) # type: ignore @@ -20777,6 +21769,8 @@ NV2080_CTRL_GPU_INFO_INDEX_GPU_NON_PASID_ATS_CAPABILITY = (0x00000042) # type: i NV2080_CTRL_GPU_INFO_INDEX_COHERENT_GPU_MEMORY_MODE = (0x00000044) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_COMPR_BIT_BACKING_COPY_TYPE = (0x00000045) # type: ignore NV2080_CTRL_GPU_INFO_MAX_LIST_SIZE = (0x00000046) # type: ignore +NV2080_CTRL_GPU_INFO_INDEX_GROUP_ID = (30, 24) # type: ignore +NV2080_CTRL_GPU_INFO_INDEX_RESERVED = (31, 31) # type: ignore NV2080_CTRL_GPU_INFO_MINOR_REVISION_EXT_NONE = (0x00000000) # type: ignore NV2080_CTRL_GPU_INFO_MINOR_REVISION_EXT_P = (0x00000001) # type: ignore NV2080_CTRL_GPU_INFO_MINOR_REVISION_EXT_V = (0x00000002) # type: ignore @@ -20821,6 +21815,7 @@ NV2080_CTRL_GPU_INFO_INDEX_GPU_DEBUGGING_CAPABILITY_DISABLED = (0x00000000) # ty NV2080_CTRL_GPU_INFO_INDEX_GPU_DEBUGGING_CAPABILITY_ENABLED = (0x00000001) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_GPU_LOCAL_EGM_CAPABILITY_NO = (0x00000000) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_GPU_LOCAL_EGM_CAPABILITY_YES = (0x00000001) # type: ignore +NV2080_CTRL_GPU_INFO_INDEX_GPU_LOCAL_EGM_PEERID = (31, 1) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_GPU_SELF_HOSTED_CAPABILITY_NO = (0x00000000) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_GPU_SELF_HOSTED_CAPABILITY_YES = (0x00000001) # type: ignore NV2080_CTRL_GPU_INFO_INDEX_CMP_SKU_NO = (0x00000000) # type: ignore @@ -20844,6 +21839,7 @@ NV2080_CTRL_CMD_GPU_GET_INFO_V2 = (0x20800102) # type: ignore NV2080_CTRL_GPU_GET_INFO_V2_PARAMS_MESSAGE_ID = (0x2) # type: ignore NV2080_CTRL_CMD_GPU_GET_NAME_STRING = (0x20800110) # type: ignore NV2080_GPU_MAX_NAME_STRING_LENGTH = (0x0000040) # type: ignore +NV2080_CTRL_GPU_GET_NAME_STRING_FLAGS_TYPE = (31, 0) # type: ignore NV2080_CTRL_GPU_GET_NAME_STRING_FLAGS_TYPE_ASCII = (0x00000000) # type: ignore NV2080_CTRL_GPU_GET_NAME_STRING_FLAGS_TYPE_UNICODE = (0x00000001) # type: ignore NV2080_CTRL_GPU_GET_NAME_STRING_PARAMS_MESSAGE_ID = (0x10) # type: ignore @@ -20932,17 +21928,21 @@ NV2080_CTRL_CMD_GPU_EVICT_CTX = (0x2080012c) # type: ignore NV2080_CTRL_GPU_EVICT_CTX_PARAMS_MESSAGE_ID = (0x2C) # type: ignore NV2080_CTRL_CMD_GPU_INITIALIZE_CTX = (0x2080012d) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_PARAMS_MESSAGE_ID = (0x2D) # type: ignore +NV2080_CTRL_GPU_INITIALIZE_CTX_APERTURE = (1, 0) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_APERTURE_VIDMEM = (0x00000000) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_APERTURE_COH_SYS = (0x00000001) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_APERTURE_NCOH_SYS = (0x00000002) # type: ignore +NV2080_CTRL_GPU_INITIALIZE_CTX_GPU_CACHEABLE = (2, 2) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_GPU_CACHEABLE_YES = (0x00000000) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_GPU_CACHEABLE_NO = (0x00000001) # type: ignore +NV2080_CTRL_GPU_INITIALIZE_CTX_PRESERVE_CTX = (3, 3) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_PRESERVE_CTX_NO = (0x00000000) # type: ignore NV2080_CTRL_GPU_INITIALIZE_CTX_PRESERVE_CTX_YES = (0x00000001) # type: ignore NV2080_CTRL_CMD_GPU_QUERY_ECC_INTR = (0x2080012e) # type: ignore NV2080_CTRL_CMD_GPU_QUERY_ECC_STATUS = (0x2080012f) # type: ignore NV2080_CTRL_GPU_ECC_UNIT_GSP = (0x0000001D) # type: ignore NV2080_CTRL_GPU_ECC_UNIT_COUNT = (0x00000024) # type: ignore +NV2080_CTRL_GPU_QUERY_ECC_STATUS_FLAGS_TYPE = (0, 0) # type: ignore NV2080_CTRL_GPU_QUERY_ECC_STATUS_FLAGS_TYPE_FILTERED = (0x00000000) # type: ignore NV2080_CTRL_GPU_QUERY_ECC_STATUS_FLAGS_TYPE_RAW = (0x00000001) # type: ignore NV2080_CTRL_GPU_QUERY_ECC_STATUS_UNC_ERR_FALSE = 0 # type: ignore @@ -20969,6 +21969,7 @@ NV2080_CTRL_CMD_GPU_RESET_ECC_ERROR_STATUS = (0x20800136) # type: ignore NV2080_CTRL_GPU_ECC_ERROR_STATUS_NONE = (0x00000000) # type: ignore NV2080_CTRL_GPU_ECC_ERROR_STATUS_VOLATILE = (0x00000001) # type: ignore NV2080_CTRL_GPU_ECC_ERROR_STATUS_AGGREGATE = (0x00000002) # type: ignore +NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_FLAGS_FORCE_PURGE = (0, 0) # type: ignore NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_FLAGS_FORCE_PURGE_FALSE = 0 # type: ignore NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_FLAGS_FORCE_PURGE_TRUE = 1 # type: ignore NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_PARAMS_MESSAGE_ID = (0x36) # type: ignore @@ -21000,8 +22001,10 @@ NV2080_CTRL_CMD_GPU_GET_GID_INFO = (0x2080014a) # type: ignore NV2080_GPU_MAX_GID_LENGTH = (0x000000100) # type: ignore NV2080_GPU_MAX_SHA1_BINARY_GID_LENGTH = (0x000000010) # type: ignore NV2080_CTRL_GPU_GET_GID_INFO_PARAMS_MESSAGE_ID = (0x4A) # type: ignore +NV2080_GPU_CMD_GPU_GET_GID_FLAGS_FORMAT = (1, 0) # type: ignore NV2080_GPU_CMD_GPU_GET_GID_FLAGS_FORMAT_ASCII = (0x00000000) # type: ignore NV2080_GPU_CMD_GPU_GET_GID_FLAGS_FORMAT_BINARY = (0x00000002) # type: ignore +NV2080_GPU_CMD_GPU_GET_GID_FLAGS_TYPE = (2, 2) # type: ignore NV2080_GPU_CMD_GPU_GET_GID_FLAGS_TYPE_SHA1 = (0x00000000) # type: ignore NV2080_CTRL_CMD_GPU_GET_INFOROM_OBJECT_VERSION = (0x2080014b) # type: ignore NV2080_CTRL_GPU_INFOROM_OBJ_TYPE_LEN = 3 # type: ignore @@ -21067,11 +22070,13 @@ NV2080_CTRL_GPU_MAX_PARTITION_IDS = 0x00000009 # type: ignore NV2080_CTRL_GPU_MAX_SMC_IDS = 0x00000008 # type: ignore NV2080_CTRL_GPU_MAX_GPC_PER_SMC = 0x00000010 # type: ignore NV2080_CTRL_GPU_MAX_CE_PER_SMC = 0x00000008 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE = (1, 0) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE_FULL = 0x00000000 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE_HALF = 0x00000001 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE_QUARTER = 0x00000002 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE_EIGHTH = 0x00000003 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_MEMORY_SIZE__SIZE = 4 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE = (4, 2) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_FULL = 0x00000000 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_HALF = 0x00000001 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_MINI_HALF = 0x00000002 # type: ignore @@ -21081,6 +22086,7 @@ NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_EIGHTH = 0x00000005 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_RESERVED_INTERNAL_06 = 0x00000006 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE_RESERVED_INTERNAL_07 = 0x00000007 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE__SIZE = 8 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE = (7, 5) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_FULL = 0x00000001 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_HALF = 0x00000002 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_MINI_HALF = 0x00000003 # type: ignore @@ -21091,11 +22097,14 @@ NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_RESERVED_INTERNAL_07 = 0x00000007 # type NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE_NONE = 0x00000000 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_GFX_SIZE__SIZE = 8 # type: ignore NV2080_CTRL_GPU_PARTITION_MAX_TYPES = 90 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_REQ_ALL_MEDIA = (29, 28) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_REQ_ALL_MEDIA_DEFAULT = 0 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_REQ_ALL_MEDIA_DISABLE = 1 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_REQ_ALL_MEDIA_ENABLE = 2 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_REQ_DEC_JPG_OFA = (30, 30) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_REQ_DEC_JPG_OFA_DISABLE = 0 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_REQ_DEC_JPG_OFA_ENABLE = 1 # type: ignore +NV2080_CTRL_GPU_PARTITION_FLAG_PLACE_AT_SPAN = (31, 31) # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_PLACE_AT_SPAN_DISABLE = 0 # type: ignore NV2080_CTRL_GPU_PARTITION_FLAG_PLACE_AT_SPAN_ENABLE = 1 # type: ignore NV2080_CTRL_GPU_SET_PARTITIONS_PARAMS_MESSAGE_ID = (0x74) # type: ignore @@ -21144,6 +22153,7 @@ NV2080_CTRL_GPU_GET_PARTITION_CAPACITY_PARAMS_MESSAGE_ID = (0x81) # type: ignore NV2080_CTRL_CMD_GPU_GET_CACHED_INFO = (0x20800182) # type: ignore NV2080_CTRL_GPU_GET_CACHED_INFO_PARAMS_MESSAGE_ID = (0x82) # type: ignore NV2080_CTRL_CMD_GPU_SET_PARTITIONING_MODE = (0x20800183) # type: ignore +NV2080_CTRL_GPU_SET_PARTITIONING_MODE_REPARTITIONING = (1, 0) # type: ignore NV2080_CTRL_GPU_SET_PARTITIONING_MODE_REPARTITIONING_LEGACY = 0 # type: ignore NV2080_CTRL_GPU_SET_PARTITIONING_MODE_REPARTITIONING_MAX_PERF = 1 # type: ignore NV2080_CTRL_GPU_SET_PARTITIONING_MODE_REPARTITIONING_FAST_RECONFIG = 2 # type: ignore @@ -21207,18 +22217,23 @@ NV2080_CTRL_GPU_FABRIC_PROBE_STATE_NOT_STARTED = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_PROBE_STATE_IN_PROGRESS = 2 # type: ignore NV2080_CTRL_GPU_FABRIC_PROBE_STATE_COMPLETE = 3 # type: ignore NV2080_GPU_FABRIC_CLUSTER_UUID_LEN = 16 # type: ignore +NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW = (1, 0) # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_NOT_SUPPORTED = 0 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_TRUE = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_FALSE = 2 # type: ignore +NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ROUTE_UPDATE = (3, 2) # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ROUTE_UPDATE_NOT_SUPPORTED = 0 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ROUTE_UPDATE_TRUE = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ROUTE_UPDATE_FALSE = 2 # type: ignore +NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_CONNECTION_UNHEALTHY = (5, 4) # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_CONNECTION_UNHEALTHY_NOT_SUPPORTED = 0 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_CONNECTION_UNHEALTHY_TRUE = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_CONNECTION_UNHEALTHY_FALSE = 2 # type: ignore +NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY = (7, 6) # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_NOT_SUPPORTED = 0 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_TRUE = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_FALSE = 2 # type: ignore +NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION = (11, 8) # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NOT_SUPPORTED = 0 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NONE = 1 # type: ignore NV2080_CTRL_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_SYSGUID = 2 # type: ignore @@ -21290,9 +22305,12 @@ NV2080_CTRL_GPU_FORCE_GSP_UNLOAD_PARAMS_MESSAGE_ID = (0xeb) # type: ignore NV2080_CTRL_GPUMON_SAMPLE_TYPE_PWR_MONITOR_STATUS = 0x00000001 # type: ignore NV2080_CTRL_GPUMON_SAMPLE_TYPE_PERFMON_UTIL = 0x00000002 # type: ignore NV2080_GPUMON_PID_INVALID = ((NvU32)(~0)) # type: ignore +NV2080_CTRL_GR_ROUTE_INFO_FLAGS_TYPE = (1, 0) # type: ignore NV2080_CTRL_GR_ROUTE_INFO_FLAGS_TYPE_NONE = 0x0 # type: ignore NV2080_CTRL_GR_ROUTE_INFO_FLAGS_TYPE_ENGID = 0x1 # type: ignore NV2080_CTRL_GR_ROUTE_INFO_FLAGS_TYPE_CHANNEL = 0x2 # type: ignore +NV2080_CTRL_GR_ROUTE_INFO_DATA_CHANNEL_HANDLE = (31, 0) # type: ignore +NV2080_CTRL_GR_ROUTE_INFO_DATA_ENGID = (31, 0) # type: ignore NV2080_CTRL_GR_INFO_INDEX_MAXCLIPS = NV0080_CTRL_GR_INFO_INDEX_MAXCLIPS # type: ignore NV2080_CTRL_GR_INFO_INDEX_MIN_ATTRS_BUG_261894 = NV0080_CTRL_GR_INFO_INDEX_MIN_ATTRS_BUG_261894 # type: ignore NV2080_CTRL_GR_INFO_XBUF_MAX_PSETS_PER_BANK = NV0080_CTRL_GR_INFO_XBUF_MAX_PSETS_PER_BANK # type: ignore @@ -21411,12 +22429,16 @@ NV2080_CTRL_GR_INFO_SM_VERSION_10_0 = (NV2080_CTRL_GR_INFO_SM_VERSION_10_00) # t NV2080_CTRL_GR_INFO_SM_VERSION_10_1 = (NV2080_CTRL_GR_INFO_SM_VERSION_10_01) # type: ignore NV2080_CTRL_GR_INFO_SM_VERSION_10_3 = (NV2080_CTRL_GR_INFO_SM_VERSION_10_03) # type: ignore NV2080_CTRL_GR_INFO_SM_VERSION_10_4 = (NV2080_CTRL_GR_INFO_SM_VERSION_10_04) # type: ignore +NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_2D = (0, 0) # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_2D_FALSE = 0x0 # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_2D_TRUE = 0x1 # type: ignore +NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_3D = (1, 1) # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_3D_FALSE = 0x0 # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_3D_TRUE = 0x1 # type: ignore +NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_COMPUTE = (2, 2) # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_COMPUTE_FALSE = 0x0 # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_COMPUTE_TRUE = 0x1 # type: ignore +NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_I2M = (3, 3) # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_I2M_FALSE = 0x0 # type: ignore NV2080_CTRL_GR_INFO_GFX_CAPABILITIES_I2M_TRUE = 0x1 # type: ignore NV2080_CTRL_CMD_GR_GET_INFO = (0x20801201) # type: ignore @@ -21451,8 +22473,10 @@ NV2080_CTRL_GR_GET_SM_TO_GPC_TPC_MAPPINGS_MAX_SM_COUNT = 240 # type: ignore NV2080_CTRL_GR_GET_SM_TO_GPC_TPC_MAPPINGS_PARAMS_MESSAGE_ID = (0xF) # type: ignore NV2080_CTRL_CMD_GR_SET_CTXSW_PREEMPTION_MODE = (0x20801210) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_PARAMS_MESSAGE_ID = (0x10) # type: ignore +NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_CILP = (0, 0) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_CILP_IGNORE = (0x00000000) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_CILP_SET = (0x00000001) # type: ignore +NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_GFXP = (1, 1) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_GFXP_IGNORE = (0x00000000) # type: ignore NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_FLAGS_GFXP_SET = (0x00000001) # type: ignore NV2080_CTRL_SET_CTXSW_PREEMPTION_MODE_GFX_WFI = (0x00000000) # type: ignore @@ -21471,6 +22495,7 @@ NV2080_CTRL_CMD_GR_GET_ROP_INFO = (0x20801213) # type: ignore NV2080_CTRL_GR_GET_ROP_INFO_PARAMS_MESSAGE_ID = (0x13) # type: ignore NV2080_CTRL_CMD_GR_GET_CTXSW_STATS = (0x20801215) # type: ignore NV2080_CTRL_GR_GET_CTXSW_STATS_PARAMS_MESSAGE_ID = (0x15) # type: ignore +NV2080_CTRL_GR_GET_CTXSW_STATS_FLAGS_RESET = (0, 0) # type: ignore NV2080_CTRL_GR_GET_CTXSW_STATS_FLAGS_RESET_FALSE = (0x00000000) # type: ignore NV2080_CTRL_GR_GET_CTXSW_STATS_FLAGS_RESET_TRUE = (0x00000001) # type: ignore NV2080_CTRL_CMD_GR_GET_CTX_BUFFER_SIZE = (0x20801218) # type: ignore @@ -21632,8 +22657,10 @@ NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_GFX_CAPABLE_GPC_MASK = 12 # type: ignore NV2080_CTRL_CMD_GSP_GET_FEATURES = (0x20803601) # type: ignore NV2080_GSP_MAX_BUILD_VERSION_LENGTH = (0x0000040) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_PARAMS_MESSAGE_ID = (0x1) # type: ignore +NV2080_CTRL_GSP_GET_FEATURES_UVM_ENABLED = (0, 0) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_UVM_ENABLED_FALSE = (0x00000000) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_UVM_ENABLED_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_GSP_GET_FEATURES_VGPU_GSP_MIG_REFACTORING_ENABLED = (1, 1) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_VGPU_GSP_MIG_REFACTORING_ENABLED_FALSE = (0x00000000) # type: ignore NV2080_CTRL_GSP_GET_FEATURES_VGPU_GSP_MIG_REFACTORING_ENABLED_TRUE = (0x00000001) # type: ignore NV2080_CTRL_CMD_GSP_GET_RM_HEAP_STATS = (0x20803602) # type: ignore @@ -22437,8 +23464,10 @@ NV2080_NOCAT_JOURNAL_REPORT_ACTIVITY_RES3_IDX = 29 # type: ignore NV2080_NOCAT_JOURNAL_REPORT_ACTIVITY_RES2_IDX = 30 # type: ignore NV2080_NOCAT_JOURNAL_REPORT_ACTIVITY_RES1_IDX = 31 # type: ignore NV2080_NOCAT_JOURNAL_REPORT_ACTIVITY_COUNTER_COUNT = (0x20) # type: ignore +NV2080_CTRL_NOCAT_GET_COUNTERS_ONLY = (0, 0) # type: ignore NV2080_CTRL_NOCAT_GET_COUNTERS_ONLY_YES = 1 # type: ignore NV2080_CTRL_NOCAT_GET_COUNTERS_ONLY_NO = 0 # type: ignore +NV2080_CTRL_NOCAT_GET_RESET_COUNTERS = (1, 1) # type: ignore NV2080_CTRL_NOCAT_GET_RESET_COUNTERS_YES = 1 # type: ignore NV2080_CTRL_NOCAT_GET_RESET_COUNTERS_NO = 0 # type: ignore NV2080_CTRL_NVD_GET_NOCAT_JOURNAL_PARAMS_MESSAGE_ID = (0x9) # type: ignore @@ -22456,12 +23485,15 @@ NV2080_CTRL_NOCAT_TDR_TYPE_SURPRISE_REMOVAL = 5 # type: ignore NV2080_CTRL_NOCAT_TDR_TYPE_UCODE_RESET = 6 # type: ignore NV2080_CTRL_NOCAT_TDR_TYPE_GPU_RC_RESET = 7 # type: ignore NV2080_CTRL_NOCAT_TDR_TYPE_TEST = 8 # type: ignore +NV2080_CTRL_NOCAT_TAG_CLEAR = (0, 0) # type: ignore NV2080_CTRL_NOCAT_TAG_CLEAR_YES = 1 # type: ignore NV2080_CTRL_NOCAT_TAG_CLEAR_NO = 0 # type: ignore NV2080_CTRL_NVD_SET_NOCAT_JOURNAL_DATA_PARAMS_MESSAGE_ID = (0xB) # type: ignore NV2080_CTRL_CMD_NVD_INSERT_NOCAT_JOURNAL_RECORD = (0x2080240c) # type: ignore +NV2080_CTRL_NOCAT_INSERT_ALLOW_NULL_STR = (0, 0) # type: ignore NV2080_CTRL_NOCAT_INSERT_ALLOW_NULL_STR_YES = 1 # type: ignore NV2080_CTRL_NOCAT_INSERT_ALLOW_NULL_STR_NO = 0 # type: ignore +NV2080_CTRL_NOCAT_INSERT_ALLOW_0_LEN_BUFFER = (1, 1) # type: ignore NV2080_CTRL_NOCAT_INSERT_ALLOW_0_LEN_BUFFER_YES = 1 # type: ignore NV2080_CTRL_NOCAT_INSERT_ALLOW_0_LEN_BUFFER_NO = 0 # type: ignore NV2080_CTRL_CMD_NVD_INSERT_NOCAT_JOURNAL_RECORD_PARAMS_MESSAGE_ID = (0xC) # type: ignore @@ -22484,6 +23516,7 @@ NV2080_CTRL_NVLINK_CAPS_NCI_VERSION_3_1 = (0x00000006) # type: ignore NV2080_CTRL_NVLINK_CAPS_NCI_VERSION_4_0 = (0x00000007) # type: ignore NV2080_CTRL_NVLINK_CAPS_NCI_VERSION_5_0 = (0x00000008) # type: ignore NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS = (0x20803001) # type: ignore +NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_ID_FLAGS = (31, 0) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_ID_FLAGS_NONE = (0x00000000) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_ID_FLAGS_PCI = (0x00000001) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_ID_FLAGS_UUID = (0x00000002) # type: ignore @@ -22494,8 +23527,10 @@ NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_TYPE_SWITCH = (0x00000003) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_TYPE_TEGRA = (0x00000004) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_TYPE_NONE = (0x000000FF) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_DEVICE_UUID_INVALID = (0xFFFFFFFF) # type: ignore +NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_GPU_DEGRADED = (0, 0) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_GPU_DEGRADED_FALSE = (0x00000000) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_GPU_DEGRADED_TRUE = (0x00000001) # type: ignore +NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_UNCONTAINED_ERROR_RECOVERY = (1, 1) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_UNCONTAINED_ERROR_RECOVERY_INACTIVE = (0x00000000) # type: ignore NV2080_CTRL_NVLINK_DEVICE_INFO_FABRIC_RECOVERY_STATUS_MASK_UNCONTAINED_ERROR_RECOVERY_ACTIVE = (0x00000001) # type: ignore NV2080_CTRL_NVLINK_STATUS_LINK_STATE_INIT = (0x00000000) # type: ignore @@ -22770,22 +23805,35 @@ NV2080_CTRL_NVLINK_UNIT_TLC_TX_0 = 0x05 # type: ignore NV2080_CTRL_NVLINK_UNIT_MIF_RX_0 = 0x06 # type: ignore NV2080_CTRL_NVLINK_UNIT_MIF_TX_0 = 0x07 # type: ignore NV2080_CTRL_NVLINK_UNIT_MINION = 0x08 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_TYPE = (31, 28) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_TYPE_NO_ERROR = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_TYPE_RAW_BER = 0x00000001 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_TYPE_EFFECTIVE_BER = 0x00000002 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_ERR_INJECT_DURATION = (27, 12) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_BER_MANTISSA = (11, 8) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_TX_ERR_BER_EXPONENT = (7, 0) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_INJECT_COUNT = (15, 0) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_STOMP = (16, 16) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_STOMP_DIS = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_STOMP_EN = 0x00000001 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_POISON = (17, 17) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_POISON_DIS = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_POISON_EN = 0x00000001 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_PKT_ERR_CLEAR_COUNTERS = (18, 18) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_AUTH_TAG_ERR_PIPE_INDEX = (3, 0) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_AUTH_TAG_ERR_AUTH_ERR = (4, 4) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_AUTH_TAG_ERR_AUTH_ERR_DIS = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_AUTH_TAG_ERR_AUTH_ERR_EN = 0x00000001 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_LINK_ERR_FORCE_LINK_DOWN = (0, 0) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_LINK_ERR_FORCE_LINK_DOWN_DIS = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_LINK_ERR_FORCE_LINK_DOWN_EN = 0x00000001 # type: ignore NV2080_CTRL_NVLINK_SET_HW_ERROR_INJECT_PARAMS_MESSAGE_ID = (0x81) # type: ignore NV2080_CTRL_CMD_NVLINK_SET_HW_ERROR_INJECT = (0x20803081) # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_LINK_STATE = (1, 0) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_LINK_STATE_UP = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_LINK_STATE_DOWN_BY_REQUEST = 0x00000001 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_LINK_STATE_DOWN_BY_HW_ERR = 0x00000002 # type: ignore +NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_OPER_STS = (0, 0) # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_OPER_STS_NO_ERR_INJECT = 0x00000000 # type: ignore NV2080_CTRL_NVLINK_HW_ERROR_INJECT_STS_OPER_STS_PERFORMING_ERR_INJECT = 0x00000001 # type: ignore NV2080_CTRL_NVLINK_GET_HW_ERROR_INJECT_PARAMS_MESSAGE_ID = (0x82) # type: ignore @@ -23102,13 +24150,17 @@ NV2080_CTRL_NVLINK_MAX_LINKS = 64 # type: ignore NV2080_CTRL_NVLINK_MAX_ARR_SIZE = 64 # type: ignore NV2080_CTRL_NVLINK_MAX_MASK_SIZE = (0x1) # type: ignore NV_SUBPROC_NAME_MAX_LENGTH = 100 # type: ignore +NV2080_CTRL_PERF_BOOST_FLAGS_CMD = (1, 0) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CMD_CLEAR = (0x00000000) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CMD_BOOST_1LEVEL = (0x00000001) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CMD_BOOST_TO_MAX = (0x00000002) # type: ignore +NV2080_CTRL_PERF_BOOST_FLAGS_CUDA = (4, 4) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_NO = (0x00000000) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_YES = (0x00000001) # type: ignore +NV2080_CTRL_PERF_BOOST_FLAGS_ASYNC = (5, 5) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_ASYNC_NO = (0x00000000) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_ASYNC_YES = (0x00000001) # type: ignore +NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_PRIORITY = (6, 6) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_PRIORITY_DEFAULT = (0x00000000) # type: ignore NV2080_CTRL_PERF_BOOST_FLAGS_CUDA_PRIORITY_HIGH = (0x00000001) # type: ignore NV2080_CTRL_PERF_BOOST_DURATION_MAX = 3600 # type: ignore @@ -23149,8 +24201,10 @@ NV2080_CTRL_CMD_PERF_GET_LEVEL_INFO = (0x20802002) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_PARAMS_MESSAGE_ID = (0x2) # type: ignore NV2080_CTRL_CMD_PERF_GET_LEVEL_INFO_V2 = (0x2080200b) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_V2_PARAMS_MESSAGE_ID = (0xB) # type: ignore +NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_TYPE = (0, 0) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_TYPE_DEFAULT = (0x00000000) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_TYPE_OVERCLOCK = (0x00000001) # type: ignore +NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_MODE = (2, 1) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_MODE_NONE = (0x00000000) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_MODE_DESKTOP = (0x00000001) # type: ignore NV2080_CTRL_PERF_GET_LEVEL_INFO_FLAGS_MODE_MAXPERF = (0x00000002) # type: ignore @@ -23294,6 +24348,7 @@ NV2080_CTRL_THERMAL_SYSTEM_INSTRUCTION_MAX_COUNT = 0x20 # type: ignore NV2080_CTRL_THERMAL_SYSTEM_EXECUTE_V2_PARAMS_MESSAGE_ID = (0x13) # type: ignore NV2080_CTRL_CMD_TIMER_SCHEDULE = (0x20800401) # type: ignore NV2080_CTRL_CMD_TIMER_SCHEDULE_PARAMS_MESSAGE_ID = (0x1) # type: ignore +NV2080_CTRL_TIMER_SCHEDULE_FLAGS_TIME = (0, 0) # type: ignore NV2080_CTRL_TIMER_SCHEDULE_FLAGS_TIME_ABS = (0x00000000) # type: ignore NV2080_CTRL_TIMER_SCHEDULE_FLAGS_TIME_REL = (0x00000001) # type: ignore NV2080_CTRL_CMD_TIMER_CANCEL = (0x20800402) # type: ignore @@ -23304,10 +24359,12 @@ NV2080_CTRL_TIMER_GET_REGISTER_OFFSET_PARAMS_MESSAGE_ID = (0x4) # type: ignore NV2080_CTRL_CMD_TIMER_GET_GPU_CPU_TIME_CORRELATION_INFO = (0x20800406) # type: ignore NV2080_CTRL_TIMER_GPU_CPU_TIME_MAX_SAMPLES = 16 # type: ignore NV2080_CTRL_TIMER_GET_GPU_CPU_TIME_CORRELATION_INFO_PARAMS_MESSAGE_ID = (0x6) # type: ignore +NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_SOURCE = (3, 0) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_OSTIME = (0x00000001) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_TSC = (0x00000002) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_PLATFORM_API = (0x00000003) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_GSP_OS = (0x00000004) # type: ignore +NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_PROCESSOR = (7, 4) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_PROCESSOR_CPU = (0x00000000) # type: ignore NV2080_TIMER_GPU_CPU_TIME_CPU_CLK_ID_PROCESSOR_GSP = (0x00000001) # type: ignore NV2080_CTRL_CMD_TIMER_SET_GR_TICK_FREQ = (0x20800407) # type: ignore @@ -23486,6 +24543,12 @@ NVB0CC_CTRL_CMD_INTERNAL_RESERVE_HWPM_LEGACY = (0xb0cc020a) # type: ignore NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS_MESSAGE_ID = (0xa) # type: ignore NVB0CC_CTRL_CMD_POWER_REQUEST_FEATURES = (0xb0cc0301) # type: ignore NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS_MESSAGE_ID = (0x1) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_ELCG = (1, 0) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_BLCG = (3, 2) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_SLCG = (5, 4) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_ELPG = (7, 6) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_IDLE_SLOWDOWN = (9, 8) # type: ignore +NVB0CC_CTRL_POWER_FEATURE_MASK_VAT = (11, 10) # type: ignore NVB0CC_CTRL_POWER_FEATURE_IGNORE = (0x00000000) # type: ignore NVB0CC_CTRL_POWER_FEATURE_DISABLE = (0x00000001) # type: ignore NVB0CC_CTRL_POWER_FEATURE_ENABLE = (0x00000002) # type: ignore diff --git a/tinygrad/runtime/ops_nv.py b/tinygrad/runtime/ops_nv.py index bd40a8604b..bdfef9bf18 100644 --- a/tinygrad/runtime/ops_nv.py +++ b/tinygrad/runtime/ops_nv.py @@ -36,6 +36,9 @@ def get_error_str(status): return f"{status}: {nv_gpu.nv_status_codes.get(status NV_PFAULT_FAULT_TYPE = {dt:name for name,dt in nv_gpu.__dict__.items() if name.startswith("NV_PFAULT_FAULT_TYPE_")} NV_PFAULT_ACCESS_TYPE = {dt:name.split("_")[-1] for name,dt in nv_gpu.__dict__.items() if name.startswith("NV_PFAULT_ACCESS_TYPE_")} +def nv_flags(reg, **kwargs): return functools.reduce(int.__or__, ((getattr(nv_gpu, f"{reg}_{k}_{v}".upper()) if isinstance(v, str) else v) << + getattr(nv_gpu, f"{reg}_{k}".upper())[1] for k, v in kwargs.items()), 0) + def nv_iowr(fd:FileIOInterface, nr, args, cmd=None): ret = fd.ioctl(cmd or ((3 << 30) | (ctypes.sizeof(args) & 0x1FFF) << 16 | (ord('F') & 0xFF) << 8 | (nr & 0xFF)), args) if ret != 0: raise RuntimeError(f"ioctl returned {ret}") @@ -94,7 +97,8 @@ class NVCommandQueue(HWQueue[HCQSignal, 'NVDevice', 'NVProgram', 'NVArgsState']) return self def wait(self, signal:HCQSignal, value:sint=0): - self.nvm(0, nv_gpu.NVC56F_SEM_ADDR_LO, *data64_le(signal.value_addr), *data64_le(value), (3 << 0) | (1 << 24)) # ACQUIRE | PAYLOAD_SIZE_64BIT + self.nvm(0, nv_gpu.NVC56F_SEM_ADDR_LO, *data64_le(signal.value_addr), *data64_le(value), + nv_flags("NVC56F_SEM_EXECUTE", operation="acq_circ_geq", payload_size="64bit")) self.active_qmd = None return self @@ -125,7 +129,8 @@ class NVCommandQueue(HWQueue[HCQSignal, 'NVDevice', 'NVProgram', 'NVArgsState']) class NVComputeQueue(NVCommandQueue): def memory_barrier(self): - self.nvm(1, nv_gpu.NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI, (1 << 12) | (1 << 4) | (1 << 0)) + self.nvm(1, nv_gpu.NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI, + nv_flags("NVC6C0_INVALIDATE_SHADER_CACHES_NO_WFI", instruction="true", global_data="true", constant="true")) self.active_qmd:QMD|None = None return self @@ -169,7 +174,7 @@ class NVComputeQueue(NVCommandQueue): return self self.nvm(0, nv_gpu.NVC56F_SEM_ADDR_LO, *data64_le(signal.value_addr), *data64_le(value), - (1 << 0) | (1 << 20) | (1 << 24) | (1 << 25)) # RELEASE | RELEASE_WFI | PAYLOAD_SIZE_64BIT | RELEASE_TIMESTAMP + nv_flags("NVC56F_SEM_EXECUTE", operation="release", release_wfi="en", payload_size="64bit", release_timestamp="en")) self.nvm(0, nv_gpu.NVC56F_NON_STALL_INTERRUPT, 0x0) self.active_qmd = None return self @@ -185,12 +190,13 @@ class NVCopyQueue(NVCommandQueue): for off in range(0, copy_size, step:=(1 << 31)): self.nvm(4, nv_gpu.NVC6B5_OFFSET_IN_UPPER, *data64(src+off), *data64(dest+off)) self.nvm(4, nv_gpu.NVC6B5_LINE_LENGTH_IN, min(copy_size-off, step)) - self.nvm(4, nv_gpu.NVC6B5_LAUNCH_DMA, 0x182) # TRANSFER_TYPE_NON_PIPELINED | DST_MEMORY_LAYOUT_PITCH | SRC_MEMORY_LAYOUT_PITCH + self.nvm(4, nv_gpu.NVC6B5_LAUNCH_DMA, + nv_flags("NVC6B5_LAUNCH_DMA", data_transfer_type="non_pipelined", src_memory_layout="pitch", dst_memory_layout="pitch")) return self def signal(self, signal:HCQSignal, value:sint=0): self.nvm(4, nv_gpu.NVC6B5_SET_SEMAPHORE_A, *data64(signal.value_addr), value) - self.nvm(4, nv_gpu.NVC6B5_LAUNCH_DMA, 0x14) + self.nvm(4, nv_gpu.NVC6B5_LAUNCH_DMA, nv_flags("NVC6B5_LAUNCH_DMA", flush_enable="true", semaphore_type="release_four_word_semaphore")) return self def _submit(self, dev:NVDevice): self._submit_to_gpfifo(dev, dev.dma_gpfifo) @@ -199,7 +205,8 @@ class NVVideoQueue(NVCommandQueue): def decode_hevc_chunk(self, pic_desc:HCQBuffer, in_buf:HCQBuffer, out_buf:HCQBuffer, out_buf_pos:int, hist_bufs:list[HCQBuffer], hist_pos:list[int], chroma_off:int, coloc_buf:HCQBuffer, filter_buf:HCQBuffer, intra_top_off:int, intra_unk_off:int|None, status_buf:HCQBuffer): self.nvm(4, nv_gpu.NVC9B0_SET_APPLICATION_ID, nv_gpu.NVC9B0_SET_APPLICATION_ID_ID_HEVC) - self.nvm(4, nv_gpu.NVC9B0_SET_CONTROL_PARAMS, 0x52057) + self.nvm(4, nv_gpu.NVC9B0_SET_CONTROL_PARAMS, nv_flags("NVC9B0_SET_CONTROL_PARAMS", codec_type="hevc", testrun_env="prod_run", gptimer_on=1, + err_conceal_on=1, mbtimer_on=1, event_trace_logging_on=1)) self.nvm(4, nv_gpu.NVC9B0_SET_DRV_PIC_SETUP_OFFSET, pic_desc.va_addr >> 8) self.nvm(4, nv_gpu.NVC9B0_SET_IN_BUF_BASE_OFFSET, in_buf.va_addr >> 8) for pos, buf in zip(hist_pos + [out_buf_pos], hist_bufs + [out_buf]): @@ -216,7 +223,7 @@ class NVVideoQueue(NVCommandQueue): def signal(self, signal:HCQSignal, value:sint=0): self.nvm(4, nv_gpu.NVC9B0_SEMAPHORE_A, *data64(signal.value_addr), value) - self.nvm(4, nv_gpu.NVC9B0_SEMAPHORE_D, (1 << 24) | (1 << 0)) + self.nvm(4, nv_gpu.NVC9B0_SEMAPHORE_D, nv_flags("NVC9B0_SEMAPHORE_D", structure_size="four", payload_size="64bit")) return self def _submit(self, dev:NVDevice): self._submit_to_gpfifo(dev, dev.vid_gpfifo) From 88c302222322106ad25a0d7e39f4519f5ecdfa1d Mon Sep 17 00:00:00 2001 From: nimlgen <138685161+nimlgen@users.noreply.github.com> Date: Sat, 7 Feb 2026 18:57:10 +0300 Subject: [PATCH 12/22] amd: kfd iface early exit (#14612) * amd: kfd iface early exit * l * revert --- tinygrad/runtime/ops_amd.py | 24 ++++++++++++++---------- tinygrad/runtime/support/hcq.py | 7 +++---- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/tinygrad/runtime/ops_amd.py b/tinygrad/runtime/ops_amd.py index 8cb09b5cfc..1d4a96c73f 100644 --- a/tinygrad/runtime/ops_amd.py +++ b/tinygrad/runtime/ops_amd.py @@ -703,13 +703,15 @@ class KFDIface: # Event to wait for queues completion self.dev.queue_event = kfd.AMDKFD_IOC_CREATE_EVENT(KFDIface.kfd, event_type=kfd.KFD_IOC_EVENT_SIGNAL, auto_reset=1) self.dev.queue_event_mailbox_ptr = KFDIface.event_page.va_addr + self.dev.queue_event.event_slot_index * 8 - self.queue_event_arr = (kfd.struct_kfd_event_data)(event_id=self.dev.queue_event.event_id) - self.queue_event_arr_ptr = ctypes.addressof(self.queue_event_arr) # OS events to collect memory and hardware faults self.mem_fault_event = kfd.AMDKFD_IOC_CREATE_EVENT(KFDIface.kfd, event_type=kfd.KFD_IOC_EVENT_MEMORY) self.hw_fault_event = kfd.AMDKFD_IOC_CREATE_EVENT(KFDIface.kfd, event_type=kfd.KFD_IOC_EVENT_HW_EXCEPTION) + self.queue_event_arr = (kfd.struct_kfd_event_data * 3)(kfd.struct_kfd_event_data(event_id=self.dev.queue_event.event_id), + kfd.struct_kfd_event_data(event_id=self.mem_fault_event.event_id), kfd.struct_kfd_event_data(event_id=self.hw_fault_event.event_id)) + self.queue_event_arr_ptr = ctypes.addressof(self.queue_event_arr) + def alloc(self, size:int, host=False, uncached=False, cpu_access=False, contiguous=False, cpu_addr=None) -> HCQBuffer: flags = kfd.KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE | kfd.KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE | kfd.KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE @@ -778,18 +780,20 @@ class KFDIface: doorbell=MMIOInterface(self.doorbells + queue.doorbell_offset - self.doorbells_base, 8, fmt='Q')) def sleep(self, tm:int): - kfd.AMDKFD_IOC_WAIT_EVENTS(KFDIface.kfd, events_ptr=self.queue_event_arr_ptr, num_events=1, wait_for_all=1, timeout=tm) + kfd.AMDKFD_IOC_WAIT_EVENTS(KFDIface.kfd, events_ptr=self.queue_event_arr_ptr, num_events=3, wait_for_all=0, timeout=tm) + if self.queue_event_arr[1].memory_exception_data.gpu_id or self.queue_event_arr[2].hw_exception_data.gpu_id: raise RuntimeError("Device fault") def on_device_hang(self): - def _collect_str(st): return ' '.join(f'{k[0]}={getattr(st, k[0])}' for k in st._real_fields_) + def _str(st): return ' '.join(f'{k[0]}={getattr(st, k[0])}' for k in st._real_fields_) + + # try to collect fault info if not already set from sleep(). + if not self.queue_event_arr[1].memory_exception_data.gpu_id and not self.queue_event_arr[2].hw_exception_data.gpu_id: + with contextlib.suppress(RuntimeError): self.sleep(tm=1) report = [] - for evnt in [self.mem_fault_event, self.hw_fault_event]: - ev = (kfd.struct_kfd_event_data)(event_id=evnt.event_id) - kfd.AMDKFD_IOC_WAIT_EVENTS(KFDIface.kfd, events_ptr=ctypes.addressof(ev), num_events=1, wait_for_all=1) - if evnt == self.mem_fault_event and ev.memory_exception_data.gpu_id: - report += [f"MMU fault: 0x{ev.memory_exception_data.va:X} | {_collect_str(ev.memory_exception_data.failure)}"] - if evnt == self.hw_fault_event and ev.hw_exception_data.gpu_id: report += [f"HW fault: {_collect_str(ev.hw_exception_data)}"] + if self.queue_event_arr[1].memory_exception_data.gpu_id: + report += [f"MMU fault: 0x{self.queue_event_arr[1].memory_exception_data.va:X} | {_str(self.queue_event_arr[1].memory_exception_data.failure)}"] + if self.queue_event_arr[2].hw_exception_data.gpu_id: report += [f"HW fault: {_str(self.queue_event_arr[2].hw_exception_data)}"] raise RuntimeError("\n".join(report)) diff --git a/tinygrad/runtime/support/hcq.py b/tinygrad/runtime/support/hcq.py index d2b67a66f5..ffceccd02d 100644 --- a/tinygrad/runtime/support/hcq.py +++ b/tinygrad/runtime/support/hcq.py @@ -257,11 +257,10 @@ class HCQSignal(Generic[HCQDeviceType]): value: The value to wait for. timeout: Maximum time to wait in milliseconds. Defaults to 30s. """ - start_time = last_sleep_time = int(time.perf_counter() * 1000) + start_time = int(time.perf_counter() * 1000) while (not_passed:=(prev_value:=self.value) < value) and (cur_time:=int(time.perf_counter() * 1000)) - start_time < timeout: - self._sleep(cur_time - last_sleep_time) - last_sleep_time = int(time.perf_counter() * 1000) - if self.value != prev_value: start_time = last_sleep_time # progress was made, reset timer + self._sleep(cur_time - start_time) + if self.value != prev_value: start_time = int(time.perf_counter() * 1000) # progress was made, reset timer if not_passed and self.value < value: raise RuntimeError(f"Wait timeout: {timeout} ms! (the signal is not set to {value}, but {self.value})") @contextlib.contextmanager From b7afd4471cd5a29ad46077c1cc6951d1bb9c11b5 Mon Sep 17 00:00:00 2001 From: chenyu Date: Sat, 7 Feb 2026 14:17:10 -0500 Subject: [PATCH 13/22] use arg instead of 3rd op for ASSIGN [pr] (#14613) --- tinygrad/schedule/indexing.py | 21 +++++++++++++-------- tinygrad/schedule/rangeify.py | 12 +++--------- tinygrad/uop/ops.py | 7 ++++--- tinygrad/uop/spec.py | 2 -- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/tinygrad/schedule/indexing.py b/tinygrad/schedule/indexing.py index 53a89ac68f..50d1f42b88 100644 --- a/tinygrad/schedule/indexing.py +++ b/tinygrad/schedule/indexing.py @@ -91,20 +91,25 @@ def convert_reduce_axis_to_reduce_with_ranges(ctx:IndexingContext, x:UOp): def remove_movement_op_after_rangeify(ctx:IndexingContext, x:UOp): if x in ctx.range_map or x.src[0].op is Ops.INDEX: return x.src[0] -def add_third_op_to_assign_to_track_shape(ctx:IndexingContext, assign:UOp): - if assign.src[1].op is Ops.CALL: return None - to_mop = graph_rewrite(assign.src[0], PatternMatcher([(UPat(GroupOp.Movement, name="x"), lambda x: x.replace(tag=()))])) - ret = assign.replace(src=assign.src+(to_mop,)) - ctx.range_map[ret] = ctx.range_map[assign] - return ret +def handle_assign_mops(ctx:IndexingContext, assign:UOp, target:UOp, src:UOp): + if target.op in GroupOp.Movement and src.op is not Ops.CALL: + mops = [] + while target.op in GroupOp.Movement: + mops.append((target.op, target.marg)) + target = target.src[0] + if mops and assign in ctx.range_map: + ret = assign.replace(arg=tuple(mops)) + ctx.range_map[ret] = ctx.range_map[assign] + return ret + return None pm_apply_rangeify = PatternMatcher([ # REDUCE_AXIS -> REDUCE (UPat(Ops.REDUCE_AXIS, name="x"), convert_reduce_axis_to_reduce_with_ranges), # PAD -> WHERE (UPat(Ops.PAD, name="x"), convert_pad_to_where_to_keep_behavior_local), - # add third op to assign - (UPat(Ops.ASSIGN, src=(UPat(), UPat()), name="assign"), add_third_op_to_assign_to_track_shape), + # store movement ops in ASSIGN arg + (UPat(Ops.ASSIGN, src=(UPat(name="target"), UPat(name="src")), name="assign"), handle_assign_mops), # finally, apply_rangeify (UPat(GroupOp.All, name="x"), create_bufferize_and_index_based_on_ranges), # remove movement op diff --git a/tinygrad/schedule/rangeify.py b/tinygrad/schedule/rangeify.py index d07bb4049f..ed017372cb 100644 --- a/tinygrad/schedule/rangeify.py +++ b/tinygrad/schedule/rangeify.py @@ -334,19 +334,13 @@ def bufferize_to_store(ctx:itertools.count, x:UOp, idx:UOp, allow_locals=True): assert size > 0 and isinstance(size, int), f"no zero sized or symbolic sized buffers {size}" sdtype = x.dtype.ptr(size=size, addrspace=x.arg.addrspace) - if x.src[0].op is Ops.ASSIGN: - assign_target, assign_src, assign_mops = x.src[0].src + if (assign := x.src[0]).op is Ops.ASSIGN: + assign_target, assign_src = assign.src[0], assign.src[1] assert assign_target.op is Ops.INDEX, f"{assign_target.op} is not index" # in assign, this is the buffer size, not the bufferize size - # TODO: assign_mops here do_store = assign_target.replace(dtype=sdtype).store(assign_src, tag=x.tag).end(*rngs) ret = assign_target.src[0].after(do_store) - mops = [] - walk = assign_mops - while walk is not assign_mops.base: - mops.append((walk.op, walk.marg)) - walk = walk.src[0] - for m in mops[::-1]: ret = ret._mop(*m) + for op, marg in reversed(assign.arg or ()): ret = ret._mop(op, marg) return ret # lower outerworld reduce here diff --git a/tinygrad/uop/ops.py b/tinygrad/uop/ops.py index d7ffb6e816..55afa08e4c 100644 --- a/tinygrad/uop/ops.py +++ b/tinygrad/uop/ops.py @@ -285,10 +285,11 @@ class UOp(OpMixin, metaclass=UOpMetaClass): raise ValueError(f"invalid type for axis: {axis_arg}") return tuple(1 if i in axis_arg else s for i,s in enumerate(ps)) + if self.op is Ops.ASSIGN: return self.src[1]._shape + # elementwise ops keep the shape the same. all inputs with shape must match - if self.op in GroupOp.ALU.union({Ops.CAST, Ops.COPY, Ops.ASSIGN, Ops.NOOP, Ops.GROUP, Ops.SINK, Ops.ALLREDUCE, Ops.STORE}): - # TODO: remove this hack for 3 op assign - input_shapes = [x._shape for x in (self.src[:2] if self.op is Ops.ASSIGN else self.src) if x._shape is not None] + if self.op in GroupOp.ALU.union({Ops.CAST, Ops.COPY, Ops.NOOP, Ops.GROUP, Ops.SINK, Ops.ALLREDUCE, Ops.STORE}): + input_shapes = [x._shape for x in self.src if x._shape is not None] if len(input_shapes) == 0: return None if not all_same(input_shapes): raise RuntimeError(f"shape mismatch at {self.op}: {input_shapes}") return input_shapes[0] diff --git a/tinygrad/uop/spec.py b/tinygrad/uop/spec.py index fe011fc8fa..675b719748 100644 --- a/tinygrad/uop/spec.py +++ b/tinygrad/uop/spec.py @@ -235,8 +235,6 @@ full_spec = PatternMatcher([ # rangeify: buffer view with index or load is okay (UPat(Ops.BUFFER_VIEW, src=(UPat((Ops.INDEX, Ops.LOAD)),)), lambda: True), - # assign on index. the third op is the shape - (UPat(Ops.ASSIGN, src=(UPat(), UPat(), UPat())), lambda: True), # expander: unroll/contract/gep/ptrcat/cat (UPat((Ops.UNROLL, Ops.CONTRACT), src=(UPat(),)), lambda: True), From 510b65489ec6aa9b5fd7d0be5fe14dfab0b163c9 Mon Sep 17 00:00:00 2001 From: chenyu Date: Sat, 7 Feb 2026 15:47:32 -0500 Subject: [PATCH 14/22] style change rangeify assign [pr] (#14616) consistent naming, also a standalone fucntion to replace complicated lambda --- tinygrad/schedule/rangeify.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/tinygrad/schedule/rangeify.py b/tinygrad/schedule/rangeify.py index ed017372cb..6fe57d9d7d 100644 --- a/tinygrad/schedule/rangeify.py +++ b/tinygrad/schedule/rangeify.py @@ -33,13 +33,17 @@ pm_mops = PatternMatcher([ # ***************** # 0. do some cleanup rewrites, mostly copied from the old stuff -def fix_assign_hazard(dest:UOp, src:UOp, assign:UOp): +def assign_to_contiguous(assign:UOp, target:UOp, src:UOp): + if (t := target.base).op is Ops.BUFFER or (t.op is Ops.MSTACK and all(s.op is Ops.BUFFER for s in t.src)): return None + return src.f(Ops.CONTIGUOUS, tag=assign.tag) + +def fix_assign_hazard(assign:UOp, target:UOp, src:UOp): # PERMUTE and FLIP reorder indices, SHRINK can have overlapping regions when dest is also shrunk - unsafe = {Ops.PERMUTE, Ops.FLIP} | ({Ops.SHRINK} if dest.op_in_backward_slice_with_self(Ops.SHRINK) else set()) + unsafe = {Ops.PERMUTE, Ops.FLIP} | ({Ops.SHRINK} if target.op_in_backward_slice_with_self(Ops.SHRINK) else set()) if not (hazards:=[s for s in src.toposort(gate=lambda s:s.op not in ALWAYS_CONTIGUOUS) if s.op in unsafe]): return for h in hazards: - if any(s is dest.base for s in h.toposort(gate=lambda s:s.op not in ALWAYS_CONTIGUOUS-{Ops.BUFFER})): - return assign.replace(src=(dest, src.contiguous())) + if any(s is target.base for s in h.toposort(gate=lambda s:s.op not in ALWAYS_CONTIGUOUS-{Ops.BUFFER})): + return assign.replace(src=(target, src.contiguous())) def split_reduceop(reduce:UOp, x:UOp): if prod(reduce.shape) == 0: return None @@ -137,15 +141,13 @@ earliest_rewrites = mop_cleanup+PatternMatcher([ # move bitcast from assign target to source: a.bitcast(X).assign(src) -> a.assign(src.bitcast(a.dtype)) (UPat(Ops.ASSIGN, src=(UPat(Ops.BITCAST, src=(UPat(name="target"),)), UPat(name="src")), name="assign"), - lambda target, src, assign: target.assign(src.bitcast(target.dtype)).replace(tag=assign.tag)), + lambda assign, target, src: target.assign(src.bitcast(target.dtype)).replace(tag=assign.tag)), # assign only to buffer, otherwise make it a CONTIGUOUS - (UPat(Ops.ASSIGN, src=(UPat(GroupOp.All-{Ops.BUFFER}, name="target"), UPat(name="x")), name="assign"), - lambda x,target,assign: x.f(Ops.CONTIGUOUS, tag=assign.tag) if ((t:=target.base).op is not Ops.BUFFER and \ - not (t.op is Ops.MSTACK and all(s.op is Ops.BUFFER for s in t.src))) else None), + (UPat(Ops.ASSIGN, src=(UPat(GroupOp.All-{Ops.BUFFER}, name="target"), UPat(name="src")), name="assign"), assign_to_contiguous), # make source contiguous if it has hazardous movement ops on the dest buffer - (UPat(Ops.ASSIGN, src=(UPat.var("dest"), UPat.var("src")), name="assign"), fix_assign_hazard), + (UPat(Ops.ASSIGN, src=(UPat.var("target"), UPat.var("src")), name="assign"), fix_assign_hazard), ]) # ***************** From b10802eb53ab8ea6106fbfeacae0588a246ce3ca Mon Sep 17 00:00:00 2001 From: qazal <77887910+Qazalin@users.noreply.github.com> Date: Sun, 8 Feb 2026 01:37:55 -0500 Subject: [PATCH 15/22] use existing VIZ ContextVar instead of getenv (#14610) --- tinygrad/codegen/__init__.py | 4 ++-- tinygrad/schedule/multi.py | 6 +++--- tinygrad/schedule/rangeify.py | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tinygrad/codegen/__init__.py b/tinygrad/codegen/__init__.py index d41f9c791f..2abf9a1840 100644 --- a/tinygrad/codegen/__init__.py +++ b/tinygrad/codegen/__init__.py @@ -1,7 +1,7 @@ from typing import cast from dataclasses import replace import itertools -from tinygrad.helpers import DISABLE_FAST_IDIV, EMULATED_DTYPES, DEVECTORIZE, TRANSCENDENTAL, SPEC, DEBUG, getenv, TracingKey, Context +from tinygrad.helpers import DISABLE_FAST_IDIV, EMULATED_DTYPES, DEVECTORIZE, TRANSCENDENTAL, SPEC, DEBUG, VIZ, TracingKey, Context from tinygrad.uop.ops import PatternMatcher, graph_rewrite, UOp, pm_lower_index_dtype, Ops, UPat, track_rewrites, KernelInfo, pyrender from tinygrad.uop.spec import type_verify, program_spec, kernel_spec from tinygrad.renderer import Renderer, ProgramSpec @@ -25,7 +25,7 @@ from tinygrad.codegen.late.linearizer import CFGContext, pm_split_ends, pm_add_c def full_rewrite_to_sink(sink:UOp, ren:Renderer|None=None, optimize:bool=True) -> UOp: if ren is None: ren = Renderer() - if getenv("VIZ"): graph_rewrite(sink, PatternMatcher([]), name="View Base AST") + if VIZ: graph_rewrite(sink, PatternMatcher([]), name="View Base AST") if DEBUG >= 5: print(pyrender(sink)) if SPEC: type_verify(sink, kernel_spec) diff --git a/tinygrad/schedule/multi.py b/tinygrad/schedule/multi.py index c95e6ae454..a4d7a1c035 100644 --- a/tinygrad/schedule/multi.py +++ b/tinygrad/schedule/multi.py @@ -1,6 +1,6 @@ from typing import cast import functools, itertools -from tinygrad.helpers import all_same, all_int, prod, DEBUG, RING, ALL2ALL, getenv +from tinygrad.helpers import all_same, all_int, prod, DEBUG, RING, ALL2ALL, VIZ, getenv from tinygrad.uop.ops import Ops, UOp, sint, PatternMatcher, UPat, GroupOp, graph_rewrite_map, graph_rewrite from tinygrad.device import Device @@ -224,7 +224,7 @@ multi_pm = PatternMatcher([ ])+replace_allreduce def get_multi_map(big_sink:UOp) -> dict[UOp, UOp]: - if getenv("VIZ"): graph_rewrite(big_sink, PatternMatcher([]), name="View Multi AST") + if VIZ: graph_rewrite(big_sink, PatternMatcher([]), name="View Multi AST") ret = graph_rewrite_map(big_sink, multi_pm, name="multi_pm") - if getenv("VIZ"): graph_rewrite(ret[big_sink], PatternMatcher([]), name="View Post Multi AST") + if VIZ: graph_rewrite(ret[big_sink], PatternMatcher([]), name="View Post Multi AST") return ret diff --git a/tinygrad/schedule/rangeify.py b/tinygrad/schedule/rangeify.py index 6fe57d9d7d..2d738bdd75 100644 --- a/tinygrad/schedule/rangeify.py +++ b/tinygrad/schedule/rangeify.py @@ -4,7 +4,7 @@ from tinygrad.dtype import dtypes, PtrDType, ImageDType, AddrSpace from tinygrad.uop.ops import PatternMatcher, UPat, Ops, UOp, resolve, GroupOp, _substitute, KernelInfo, pm_gate_kernel_sink from tinygrad.uop.ops import graph_rewrite, identity_element, sint, AxisType, BottomUpGate, _remove_all_tags, range_str from tinygrad.uop.symbolic import symbolic -from tinygrad.helpers import argsort, prod, all_same, getenv, flatten, dedup, all_int, DEBUG, SPLIT_REDUCEOP, DEBUG_RANGEIFY +from tinygrad.helpers import argsort, prod, all_same, getenv, flatten, dedup, all_int, DEBUG, SPLIT_REDUCEOP, DEBUG_RANGEIFY, VIZ from tinygrad.helpers import PCONTIG, partition, get_single_element from tinygrad.codegen.simplify import pm_flatten_range, pm_reduce_simplify from tinygrad.codegen.opt import Opt @@ -561,7 +561,7 @@ replace_contiguous = PatternMatcher([ ]) def get_rangeify_map(sink:UOp) -> dict[UOp, UOp]: - if getenv("VIZ"): graph_rewrite(sink, PatternMatcher([]), name="View Input Graph") + if VIZ: graph_rewrite(sink, PatternMatcher([]), name="View Input Graph") uop_list: list[UOp] = [] tsink = graph_rewrite(sink, add_tags, ctx=(uop_list, set()), bottom_up=True, name="number the uops") @@ -579,7 +579,7 @@ def get_rangeify_map(sink:UOp) -> dict[UOp, UOp]: tsink = UOp.sink(*[x for x in tsink.backward_slice if x.base.op in {Ops.BUFFERIZE, Ops.MSTACK, Ops.CONST, Ops.BUFFER, Ops.AFTER} and \ x.tag is not None and len(x.tag)]) - if getenv("VIZ"): graph_rewrite(tsink, PatternMatcher([]), name="View Tagged Rangeify") + if VIZ: graph_rewrite(tsink, PatternMatcher([]), name="View Tagged Rangeify") # bufferize -> store lunique_start: int = max([-1]+[x.arg for x in tsink.toposort() if x.op is Ops.LUNIQUE]) + 1 @@ -605,7 +605,7 @@ def get_rangeify_map(sink:UOp) -> dict[UOp, UOp]: sink_tags = [s.tag for s in tsink.src] tsink = graph_rewrite(tsink, _remove_all_tags, name="remove all tags") - if getenv("VIZ"): graph_rewrite(tsink, PatternMatcher([]), name="View Kernel Graph") + if VIZ: graph_rewrite(tsink, PatternMatcher([]), name="View Kernel Graph") becomes_map: dict[UOp, UOp] = {} for tag, s in zip(sink_tags, tsink.src): From e29a88ca09c4ceee63072c93844368da6337225c Mon Sep 17 00:00:00 2001 From: nimlgen <138685161+nimlgen@users.noreply.github.com> Date: Sun, 8 Feb 2026 10:47:25 +0300 Subject: [PATCH 16/22] hive_reset respects lock (#14618) --- extra/amdpci/hive_reset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/amdpci/hive_reset.py b/extra/amdpci/hive_reset.py index 1991cb56e9..e604a143d1 100755 --- a/extra/amdpci/hive_reset.py +++ b/extra/amdpci/hive_reset.py @@ -6,7 +6,7 @@ from tinygrad.runtime.support.am.amdev import AMDev if __name__ == "__main__": gpus = System.pci_scan_bus(0x1002, [(0xffff, [0x74a1, 0x75a0])]) - pcidevs = [PCIDevice(f"reset:{gpu}", gpu, bars=[0, 2, 5]) for gpu in gpus] + pcidevs = [PCIDevice("AM", gpu, bars=[0, 2, 5]) for gpu in gpus] amdevs = [] with Context(DEBUG=2): for pcidev in pcidevs: From 183d38b128f644ac1cfe66f3fc33f25aebf055ba Mon Sep 17 00:00:00 2001 From: George Hotz <72895+geohot@users.noreply.github.com> Date: Sun, 8 Feb 2026 18:43:33 +0800 Subject: [PATCH 17/22] remove CUSTOM_KERNEL / directly construct it (#14604) * remove CUSTOM_KERNEL / directly construct it * clean that up * simpler multi * custom kernel spec * remove Kernel * fix multi * use sharded shape * explicit regression test --- extra/fp8/fp8_linear.py | 2 +- extra/gemm/asm/cdna/gemm.py | 2 +- extra/models/llama.py | 6 ++--- test/test_custom_kernel.py | 12 ++++++++-- test/test_schedule.py | 13 +---------- test/testextra/test_asm_gemm.py | 5 ++-- tinygrad/gradient.py | 1 - tinygrad/schedule/multi.py | 12 ++++++---- tinygrad/schedule/rangeify.py | 9 +------- tinygrad/tensor.py | 6 ++--- tinygrad/uop/__init__.py | 1 - tinygrad/uop/ops.py | 28 ++++++++-------------- tinygrad/uop/spec.py | 41 ++++++++++++++++----------------- tinygrad/viz/serve.py | 2 +- 14 files changed, 60 insertions(+), 80 deletions(-) diff --git a/extra/fp8/fp8_linear.py b/extra/fp8/fp8_linear.py index dcd27c820c..57de378f68 100644 --- a/extra/fp8/fp8_linear.py +++ b/extra/fp8/fp8_linear.py @@ -28,7 +28,7 @@ def custom_matmul(output: UOp, inp: UOp, weight: UOp) -> UOp: return store_op.sink(arg=KernelInfo(name=f"fp8_matmul_{inp.shape}x{weight.shape}")) def custom_matmul_backward(gradient: UOp, kernel: UOp) -> tuple[UOp, UOp]: - _, input_uop, weight_uop = kernel.src + _, input_uop, weight_uop = kernel.src[1:] input_tensor = Tensor(input_uop, device=input_uop.device) grad_tensor = Tensor(gradient, device=gradient.device) weight_tensor = Tensor(weight_uop, device=weight_uop.device) diff --git a/extra/gemm/asm/cdna/gemm.py b/extra/gemm/asm/cdna/gemm.py index a6beb7bacf..275f5d2113 100644 --- a/extra/gemm/asm/cdna/gemm.py +++ b/extra/gemm/asm/cdna/gemm.py @@ -62,7 +62,7 @@ def custom_uop_gemm(C:UOp, A:UOp, B:UOp) -> UOp: # ** backward gemm, might use the asm gemm def custom_gemm_bw(gradient:UOp, kernel:UOp): - out, a, b = kernel.src + out, a, b = kernel.src[1:] assert all_same([gradient.device, a.device, b.device, out.device]) a_t, b_t, g_t = Tensor(a, device=a.device), Tensor(b, device=a.device), Tensor(gradient, device=a.device) grad_a = (g_t @ b_t.T).uop diff --git a/extra/models/llama.py b/extra/models/llama.py index 3b7db359de..89aa4ecc58 100644 --- a/extra/models/llama.py +++ b/extra/models/llama.py @@ -103,9 +103,9 @@ class Attention: def fa_custom_backward(out_q:UOp, out_k:UOp, out_v:UOp, grad:UOp, q:UOp, k:UOp, v:UOp) -> UOp: return UOp.sink(arg=KernelInfo(name="fa_custom_backward")) def fa_backward(grad:UOp, kernel:UOp) -> tuple[None, UOp, UOp, UOp]: - grad_q = Tensor.empty_like(q:=Tensor(kernel.src[1])) - grad_k = Tensor.empty_like(k:=Tensor(kernel.src[2])) - grad_v = Tensor.empty_like(v:=Tensor(kernel.src[3])) + grad_q = Tensor.empty_like(q:=Tensor(kernel.src[2])) + grad_k = Tensor.empty_like(k:=Tensor(kernel.src[3])) + grad_v = Tensor.empty_like(v:=Tensor(kernel.src[4])) ck = Tensor.custom_kernel(grad_q, grad_k, grad_v, Tensor(grad), q, k, v, fxn=fa_custom_backward)[:3] return (None, ck[0].uop, ck[1].uop, ck[2].uop) attn = Tensor.empty_like(attn).custom_kernel(xq, keys, values, fxn=fa_custom_forward, grad_fxn=fa_backward)[0] diff --git a/test/test_custom_kernel.py b/test/test_custom_kernel.py index 41cb27293d..d0e9ca73a7 100644 --- a/test/test_custom_kernel.py +++ b/test/test_custom_kernel.py @@ -88,13 +88,13 @@ def simple_qkv_kernel(O:UOp, Q:UOp, K:UOp, V:UOp) -> UOp: # **** backward callbacks **** def backward_gemm(gradient:UOp, kernel:UOp) -> tuple[UOp, UOp]: - out, a, b = kernel.src + out, a, b = kernel.src[1:] grad_a = (Tensor(gradient) @ Tensor(b).T).uop grad_b = (Tensor(a).T @ Tensor(gradient)).uop return (None, grad_a, grad_b) def backward_gemm_custom(gradient:UOp, kernel:UOp) -> tuple[UOp, UOp]: - out, a, b = kernel.src + out, a, b = kernel.src[1:] grad_a = Tensor.empty_like(Tensor(a)).custom_kernel(Tensor(gradient), Tensor(b).T, fxn=custom_gemm)[0].uop grad_b = Tensor.empty_like(Tensor(b)).custom_kernel(Tensor(a).T, Tensor(gradient), fxn=custom_gemm)[0].uop return (None, grad_a, grad_b) @@ -128,6 +128,14 @@ class TestCustomKernel(unittest.TestCase): out = c.flatten().tolist() assert all(x == 2 for x in out), "all 2" + def test_sharded_add_one(self): + # PYTHON backend explicitly checks for OOB access for wrong multi shape regression + devs = ("PYTHON:0", "PYTHON:1") + a = Tensor.ones(4, 4).contiguous().shard(devs, axis=0) + c = Tensor(Tensor.empty(2, 4, device=devs).uop.multi(0), device=devs) + c = Tensor.custom_kernel(c, a, fxn=custom_add_one_kernel)[0] + assert (c == 2).all().item() + def test_multioutput(self): a = Tensor.full((16, 16), 3.).contiguous() b = Tensor.full((16, 16), 3.).contiguous() diff --git a/test/test_schedule.py b/test/test_schedule.py index 70bb17f588..23d4dd5f3c 100644 --- a/test/test_schedule.py +++ b/test/test_schedule.py @@ -10,7 +10,7 @@ from hypothesis import assume, given, settings, strategies as strat from tinygrad import nn, dtypes, Device, Tensor, Variable from tinygrad.device import is_dtype_supported from tinygrad.dtype import DType, ImageDType -from tinygrad.uop.ops import UOp, Ops, GroupOp, UPat, Kernel +from tinygrad.uop.ops import UOp, Ops, GroupOp, UPat from tinygrad.helpers import CI, DEBUG, SPLIT_REDUCEOP, GlobalCounters, Context, getenv, all_same, temp from tinygrad.engine.realize import CompiledRunner, run_schedule @@ -677,17 +677,6 @@ class TestSchedule(unittest.TestCase): c = (a.sum(2).contiguous() + b).contiguous() check_schedule(c, 2) - # TODO: this requires supporting multiple stores in the AST - @unittest.expectedFailure - def test_multioutput_ast(self): - a = Tensor.zeros(1, dtype=dtypes.int).contiguous().realize().uop - b = Tensor.zeros(1, dtype=dtypes.int).contiguous().realize().uop - c = Tensor.arange(4).realize().uop - kernel = UOp(Ops.CALL, src=(a.base, b.base, c.base), arg=Kernel(UOp.sink(c.r(Ops.ADD, (0,))+1, c.r(Ops.ADD, (0,))*2))) - run_schedule(check_schedule(UOp.sink(a.assign(kernel), b.assign(kernel)), 1)) - self.assertEqual(a.buffer.numpy(), [7]) - self.assertEqual(b.buffer.numpy(), [12]) - @unittest.skip("no longer supported") def test_double_from(self): x = Tensor([1,2,3,4]) diff --git a/test/testextra/test_asm_gemm.py b/test/testextra/test_asm_gemm.py index edc666793a..65f698ece8 100644 --- a/test/testextra/test_asm_gemm.py +++ b/test/testextra/test_asm_gemm.py @@ -1,7 +1,7 @@ import unittest from tinygrad import Tensor, Device, dtypes, Context from tinygrad.device import is_dtype_supported -from tinygrad.helpers import getenv, CI +from tinygrad.helpers import getenv from extra.gemm.asm.cdna.gemm import asm_gemm from test.helpers import needs_second_gpu @@ -31,7 +31,8 @@ def verify_asm_gemm(batch:int, M:int, N:int, K:int, dtype=dtypes.float16, gpus:i assert (a.grad - a_ref.grad).square().max().float().item() < 1e-3, "grad_a mismatch" assert (b.grad - b_ref.grad).square().max().float().item() < 1e-3, "grad_b mismatch" -SCALE = 128 if CI else 1 +# 128x smaller than usual +SCALE = 128 @unittest.skipUnless(is_dtype_supported(dtypes.half), "need half") class TestGemm(unittest.TestCase): diff --git a/tinygrad/gradient.py b/tinygrad/gradient.py index b5b9a4f904..a8b0a7327d 100644 --- a/tinygrad/gradient.py +++ b/tinygrad/gradient.py @@ -52,7 +52,6 @@ pm_gradient = PatternMatcher([ (UPat(Ops.MULTI, name="ret"), lambda ctx, ret: ctx.shard(ret.device, ret.axis).src), # NOTE: this is only correct when the KERNEL has a single output (UPat(Ops.AFTER), lambda ctx: (ctx, ctx)), - (UPat(Ops.CUSTOM_KERNEL, name="k"), lambda ctx, k: k.arg.grad_fxn(ctx, k)), # gradient on CALL: use provided grad_fxn or auto-differentiate (UPat(Ops.CALL, name="k"), call_gradient), # there's no gradient for bitcast diff --git a/tinygrad/schedule/multi.py b/tinygrad/schedule/multi.py index a4d7a1c035..73eedf93b0 100644 --- a/tinygrad/schedule/multi.py +++ b/tinygrad/schedule/multi.py @@ -2,6 +2,7 @@ from typing import cast import functools, itertools from tinygrad.helpers import all_same, all_int, prod, DEBUG, RING, ALL2ALL, VIZ, getenv from tinygrad.uop.ops import Ops, UOp, sint, PatternMatcher, UPat, GroupOp, graph_rewrite_map, graph_rewrite +from tinygrad.dtype import dtypes from tinygrad.device import Device # *** allreduce implementation *** @@ -214,13 +215,14 @@ multi_pm = PatternMatcher([ (UPat(Ops.ALLREDUCE, src=(UPat(Ops.MULTI, name="multi"), UPat(Ops.DEVICE, name="device")), name="red"), lambda multi,device,red: multi.src[0].allreduce(red.arg, device).multi(axis=multi.axis)), (UPat(Ops.CALL, src=(UPat(Ops.MULTI, name="multi"), ), name="root", allow_any_len=True), passthrough_multi), + # we just remove the MULTI from CALLs with dtypes.void and assume they are handled by the user for custom kernels + (UPat(Ops.CALL, dtype=dtypes.void, name="root", custom_early_reject=set([Ops.MULTI])), lambda root: + UOp(root.op, root.dtype, tuple(x.src[0] if x.op is Ops.MULTI else x for x in root.src), root.arg)), (UPat((Ops.CAST, Ops.BITCAST, Ops.CONTIGUOUS, Ops.DETACH, Ops.CONTIGUOUS_BACKWARD), src=(UPat(Ops.MULTI, name="multi"), ), name="root"), passthrough_multi), - # multi supports custom kernels with CUSTOM_KERNEL + AFTER - (UPat(Ops.CUSTOM_KERNEL, src=UPat((Ops.MULTI, Ops.CONTIGUOUS)), name="ck"), - lambda ck: ck.replace(src=tuple(m.src[0] if m.op is Ops.MULTI else m for m in ck.src))), - (UPat(Ops.AFTER, src=(UPat(Ops.MULTI, name="multi"), UPat(Ops.CUSTOM_KERNEL)), name="a"), - lambda multi,a: a.replace(src=(multi.src[0],)+a.src[1:]).multi(multi.axis)) + # after CALL + (UPat(Ops.AFTER, src=(UPat(Ops.MULTI, name="multi"), UPat(Ops.CALL)), name="a"), + lambda multi,a: a.replace(src=(multi.src[0],)+a.src[1:]).multi(multi.axis)), ])+replace_allreduce def get_multi_map(big_sink:UOp) -> dict[UOp, UOp]: diff --git a/tinygrad/schedule/rangeify.py b/tinygrad/schedule/rangeify.py index 2d738bdd75..94250460e3 100644 --- a/tinygrad/schedule/rangeify.py +++ b/tinygrad/schedule/rangeify.py @@ -74,10 +74,6 @@ mop_cleanup = PatternMatcher([ lambda x,x2: x.replace(src=(x2.src[0], x.src[1])) if x.tag is None and x2.tag is None else None), ]) -def resolve_custom_kernel(ck:UOp) -> UOp: - placeholders = [UOp.placeholder_like(s, slot=i) for i,s in enumerate(ck.src)] - return ck.arg.fxn(*placeholders).call(*ck.src) - def resolve_call(c:UOp) -> UOp|None: # don't resolve real kernel calls, sink or program if c.src[0].op is Ops.SINK and isinstance(c.src[0].arg, KernelInfo): return None @@ -99,9 +95,6 @@ earliest_rewrites = mop_cleanup+PatternMatcher([ # resolve calls (UPat(Ops.CALL, name="c"), resolve_call), - # resolve custom kernels - (UPat(Ops.CUSTOM_KERNEL, name="ck"), resolve_custom_kernel), - # remove CONTIGUOUS if the BUFFER is already contiguous (UPat(Ops.RESHAPE, src=(UPat(Ops.BUFFER), UPat()), name="r").f(Ops.CONTIGUOUS, name="c"), lambda r,c: r.replace(tag=c.tag)), @@ -538,7 +531,7 @@ def tag_uop(ctx:tuple[list[UOp], set[UOp]], x:UOp): if x.dtype.scalar() == dtypes.index: return None ctx[0].append(x) return x.replace(tag=(len(ctx[0])-1,)) -add_tags = PatternMatcher([ +add_tags = pm_gate_kernel_sink+PatternMatcher([ # don't tag BUFFERs, they are global (UPat(GroupOp.All-{Ops.BUFFER, Ops.CONST, Ops.DEVICE, Ops.UNIQUE, Ops.LUNIQUE, Ops.DEFINE_VAR, Ops.BIND, Ops.CALL, Ops.END, Ops.MSTACK, Ops.MSELECT, Ops.RANGE}.union(GroupOp.Movement), name="x"), tag_uop), diff --git a/tinygrad/tensor.py b/tinygrad/tensor.py index eec5eeac41..f518d6efae 100644 --- a/tinygrad/tensor.py +++ b/tinygrad/tensor.py @@ -234,8 +234,7 @@ class Tensor(OpMixin): def as_param(self, slot:int): if self.uop.axis is not None: - multi_shape = tuple([s//len(self.device) if i==self.uop.axis else s for i,s in enumerate(self.shape)]) - param = UOp.param(slot, self.dtype, multi_shape, self.device).multi(self.uop.axis) + param = UOp.param(slot, self.dtype, self.uop.shard_shape, self.device).multi(self.uop.axis) else: param = UOp.param(slot, self.dtype, self.shape, self.device) return Tensor(param, device=self.device) @@ -756,8 +755,7 @@ class Tensor(OpMixin): dtype = kwargs.pop("dtype", self.dtype) if kwargs.get("device") is not None: raise RuntimeError("cannot specify `device` on `*_like` of a multi device tensor") if self.uop.axis is None: return fxn(self.shape, *args, dtype=dtype, **kwargs).shard(self.device) - sharded_shape = tuple(s//len(self.device) if a==self.uop.axis else s for a,s in enumerate(self.shape)) - stacked = UOp(Ops.MSTACK, dtype=dtype, src=tuple([fxn(sharded_shape, *args, device=d, dtype=dtype, **kwargs).uop for d in self.device])) + stacked = UOp(Ops.MSTACK, dtype=dtype, src=tuple([fxn(self.uop.shard_shape, *args, device=d, dtype=dtype, **kwargs).uop for d in self.device])) return Tensor(UOp.multi(stacked, axis=self.uop.axis), device=self.device, dtype=dtype) def full_like(self, fill_value:PyConst, **kwargs) -> Tensor: diff --git a/tinygrad/uop/__init__.py b/tinygrad/uop/__init__.py index 1c0629147c..4ba02595c3 100644 --- a/tinygrad/uop/__init__.py +++ b/tinygrad/uop/__init__.py @@ -80,7 +80,6 @@ class Ops(FastEnum): # tensor graph ops UNIQUE = auto(); DEVICE = auto(); ASSIGN = auto() - CUSTOM_KERNEL = auto() # local unique LUNIQUE = auto() diff --git a/tinygrad/uop/ops.py b/tinygrad/uop/ops.py index 55afa08e4c..8a40cc2bc4 100644 --- a/tinygrad/uop/ops.py +++ b/tinygrad/uop/ops.py @@ -207,7 +207,7 @@ class UOp(OpMixin, metaclass=UOpMetaClass): match self.op: # late ops don't have shape case Ops.UNIQUE | Ops.LUNIQUE | Ops.DEVICE | Ops.RANGE | Ops.LOAD | Ops.IF | Ops.BARRIER | Ops.CUSTOM | Ops.CUSTOMI | \ - Ops.VECTORIZE | Ops.VCONST | Ops.GEP | Ops.SPECIAL | Ops.UNROLL | Ops.CONTRACT | Ops.CUSTOM_KERNEL | Ops.SINK | \ + Ops.VECTORIZE | Ops.VCONST | Ops.GEP | Ops.SPECIAL | Ops.UNROLL | Ops.CONTRACT | Ops.SINK | \ Ops.LINEAR | Ops.PROGRAM | Ops.SOURCE | Ops.BINARY: return None @@ -798,6 +798,11 @@ class UOp(OpMixin, metaclass=UOpMetaClass): # *** uop high level syntactic sugar *** + @property + def shard_shape(self): + if self.axis is None: return self.shape + return tuple(x//len(self.device) if i == self.axis else x for i,x in enumerate(self.shape)) + @staticmethod def placeholder(shape:tuple[int, ...], dtype:DType, slot:int, addrspace=AddrSpace.GLOBAL): lookup = {AddrSpace.GLOBAL: Ops.PARAM, AddrSpace.LOCAL: Ops.DEFINE_LOCAL, AddrSpace.REG: Ops.DEFINE_REG} @@ -806,7 +811,7 @@ class UOp(OpMixin, metaclass=UOpMetaClass): return ret def placeholder_like(self, slot:int): assert all_int(self.shape), "no placeholder-like on symbolic shape" - return UOp.placeholder(self.shape, self.dtype, slot) + return UOp.placeholder(self.shard_shape, self.dtype, slot) # set is store+end+after def set(self:UOp, val:UOp|ConstType, end:UOp|tuple[UOp, ...]|list[UOp]=()) -> UOp: @@ -824,7 +829,8 @@ class UOp(OpMixin, metaclass=UOpMetaClass): return UOp(Ops.CALL, self.dtype, (self,)+srcs, CallInfo(grad_fxn, metadata)) def custom_kernel(*srcs:UOp, fxn:Callable, grad_fxn:Callable|None=None) -> list[UOp]: contig_srcs = tuple(x.contiguous() if x.op is not Ops.AFTER else x for x in srcs) - kernel = UOp(Ops.CUSTOM_KERNEL, src=contig_srcs, arg=CustomKernel(fxn=fxn, grad_fxn=grad_fxn)) + placeholders = [UOp.placeholder_like(s, slot=i) for i,s in enumerate(contig_srcs)] + kernel = fxn(*placeholders).call(*contig_srcs, grad_fxn=grad_fxn) return [s.after(kernel) for s in contig_srcs] @dataclass(frozen=True) @@ -838,14 +844,6 @@ class KernelInfo: @property def function_name(self): return to_function_name(self.name) -@dataclass(frozen=True) -class CustomKernel: - fxn: Callable - grad_fxn: Callable|None = None - # sadly CustomKernel can't be pickled or reconstructed as a str - def __reduce__(self): return (CustomKernel, (panic,)) - def __repr__(self): return f"CustomKernel({id(self.fxn)})" - @dataclass(frozen=True) class CallInfo: grad_fxn: Callable|None = None @@ -854,12 +852,6 @@ class CallInfo: def __reduce__(self): return (CallInfo, (None, self.metadata)) def __repr__(self): return f"CallInfo({id(self.grad_fxn) if self.grad_fxn else None}, {self.metadata})" -@dataclass(frozen=True) -class Kernel: - ast: UOp - metadata: tuple[Metadata, ...] = () - grad_fxn: Callable|None = None - # ******** ops in python ******** def safe_exp2(x): @@ -1436,7 +1428,7 @@ def pyrender(ast:UOp) -> str: for s in u.src: to_render.add(s) if u.op is Ops.STORE: to_render.add(u.src[1]) if u.op in {Ops.REDUCE, Ops.REDUCE_AXIS}: to_render.add(u.src[0]) - if u.op in {Ops.CUSTOM_KERNEL, Ops.CALL}: raise NotImplementedError("custom_kernel / call can't be pyrendered") + if u.op is Ops.CALL: raise NotImplementedError("call can't be pyrendered") if u.op in not_rendered: continue # checking the consumers is not enough, you have to make sure it's not used twice by the one consumer if len(cmap[u]) == 1 and len([x for x in list(cmap[u].keys())[0].src if x is u]) == 1 and u.op not in always_rendered: continue diff --git a/tinygrad/uop/spec.py b/tinygrad/uop/spec.py index 675b719748..9f091c69e3 100644 --- a/tinygrad/uop/spec.py +++ b/tinygrad/uop/spec.py @@ -1,6 +1,6 @@ import math from typing import cast, Any -from tinygrad.uop.ops import PatternMatcher, UPat, GroupOp, Ops, UOp, print_uops, AxisType, KernelInfo, pyrender, Kernel, CustomKernel +from tinygrad.uop.ops import PatternMatcher, UPat, GroupOp, Ops, UOp, print_uops, AxisType, KernelInfo, pyrender from tinygrad.dtype import DType, ImageDType, dtypes, PtrDType, AddrSpace, Invalid, ConstFloat from tinygrad.helpers import DEBUG, Context, prod, SPEC, Metadata, panic, CHECK_OOB @@ -73,9 +73,6 @@ movement_ops = PatternMatcher([ # AFTER on Movement Op (UPat(Ops.AFTER, src=(UPat(GroupOp.Movement.union({Ops.MULTI, Ops.CONTIGUOUS})),), allow_any_len=True), lambda: True), - - # custom kernels allowed here - (UPat(Ops.CUSTOM_KERNEL), lambda: True), ]) _tensor_spec = PatternMatcher([ @@ -139,12 +136,19 @@ _tensor_spec = PatternMatcher([ # allow CALL/PARAM (UPat(Ops.CALL, src=(UPat(name="f"),), name="c", allow_any_len=True), lambda c,f: c.dtype == f.dtype), (UPat(Ops.PARAM), lambda: True), -])+movement_ops+shared_spec -tensor_spec = PatternMatcher([ - # no tags allowed in tensor graph - (UPat(GroupOp.All, name="x"), lambda x: None if x.tag is None else False), -])+_tensor_spec + # ** for custom kernels ** + + # codegen: PROGRAM with progressive sources through the pipeline (SINK, DEVICE, LINEAR?, SOURCE?, BINARY?) + (UPat(Ops.PROGRAM, dtypes.void, src=(UPat(Ops.SINK), UPat(Ops.DEVICE))), lambda: True), + (UPat(Ops.PROGRAM, dtypes.void, src=(UPat(Ops.SINK), UPat(Ops.DEVICE), UPat(Ops.LINEAR))), lambda: True), + (UPat(Ops.PROGRAM, dtypes.void, src=(UPat(Ops.SINK), UPat(Ops.DEVICE), UPat(Ops.LINEAR), UPat(Ops.SOURCE))), lambda: True), + (UPat(Ops.PROGRAM, dtypes.void, src=(UPat(Ops.SINK), UPat(Ops.DEVICE), UPat(Ops.LINEAR), UPat(Ops.SOURCE), UPat(Ops.BINARY))), lambda: True), + # codegen: standalone LINEAR/SOURCE/BINARY + (UPat(Ops.LINEAR, dtypes.void), lambda: True), + (UPat(Ops.SOURCE, dtypes.void, src=()), lambda: True), + (UPat(Ops.BINARY, dtypes.void, src=()), lambda: True), +])+movement_ops+shared_spec # ***** UOp spec in codegen shared between kernel and program ***** @@ -204,6 +208,11 @@ kernel_spec = PatternMatcher([ (UPat(Ops.REDUCE, src=(UPat(),), allow_any_len=True, name="x"), lambda x: all(y.dtype in (dtypes.index, dtypes.int) for y in x.src[1:])), ])+movement_ops+shared_codegen_spec+shared_spec +tensor_spec = PatternMatcher([ + # no tags allowed in tensor graph + (UPat(GroupOp.All, name="x"), lambda x: None if x.tag is None else False), +])+_tensor_spec+kernel_spec + # ***** UOp spec in linearized programs ***** program_spec = PatternMatcher([ @@ -264,16 +273,6 @@ full_spec = PatternMatcher([ # in progress MSTACK may lose device (UPat((Ops.MSELECT, Ops.MSTACK), name="x"), lambda x: True), - # codegen: PROGRAM with progressive sources through the pipeline (SINK, DEVICE, LINEAR?, SOURCE?, BINARY?) - (UPat(Ops.PROGRAM, dtypes.void, src=(UPat(Ops.SINK), UPat(Ops.DEVICE))), lambda: True), - (UPat(Ops.PROGRAM, dtypes.void, src=(UPat(Ops.SINK), UPat(Ops.DEVICE), UPat(Ops.LINEAR))), lambda: True), - (UPat(Ops.PROGRAM, dtypes.void, src=(UPat(Ops.SINK), UPat(Ops.DEVICE), UPat(Ops.LINEAR), UPat(Ops.SOURCE))), lambda: True), - (UPat(Ops.PROGRAM, dtypes.void, src=(UPat(Ops.SINK), UPat(Ops.DEVICE), UPat(Ops.LINEAR), UPat(Ops.SOURCE), UPat(Ops.BINARY))), lambda: True), - # codegen: standalone LINEAR/SOURCE/BINARY - (UPat(Ops.LINEAR, dtypes.void), lambda: True), - (UPat(Ops.SOURCE, dtypes.void, src=()), lambda: True), - (UPat(Ops.BINARY, dtypes.void, src=()), lambda: True), - # temp VECTORIZE/INDEX during rewrite have the wrong dtype (UPat(Ops.VECTORIZE), lambda: True), (UPat(Ops.INDEX), lambda: True), @@ -301,8 +300,8 @@ def type_verify(ast:UOp|list[UOp], check_spec:PatternMatcher): # late imports to avoid circular import from tinygrad.codegen.opt import Opt, OptOps from tinygrad.schedule.rangeify import BufferizeOpts -glbls:dict[str, Any] = {"inf": math.inf, "nan": math.nan, "KernelInfo": KernelInfo, "Kernel": Kernel, "Metadata": Metadata, - "UOp": UOp, "dtypes": dtypes, "Ops": Ops, "AxisType": AxisType, "Invalid": Invalid, "CustomKernel": CustomKernel, +glbls:dict[str, Any] = {"inf": math.inf, "nan": math.nan, "KernelInfo": KernelInfo, "Metadata": Metadata, + "UOp": UOp, "dtypes": dtypes, "Ops": Ops, "AxisType": AxisType, "Invalid": Invalid, "Opt": Opt, "OptOps": OptOps, "BufferizeOpts": BufferizeOpts, "AddrSpace": AddrSpace, "panic": panic, "ConstFloat": ConstFloat} def eval_pyrender(code:str) -> UOp: diff --git a/tinygrad/viz/serve.py b/tinygrad/viz/serve.py index 340a8e0d2d..a30cd2a447 100755 --- a/tinygrad/viz/serve.py +++ b/tinygrad/viz/serve.py @@ -45,7 +45,7 @@ from tinygrad.dtype import dtypes uops_colors = {Ops.LOAD: "#ffc0c0", Ops.STORE: "#87CEEB", Ops.CONST: "#e0e0e0", Ops.VCONST: "#e0e0e0", Ops.REDUCE: "#FF5B5B", Ops.PARAM:"#cb9037", **{x:"#f2cb91" for x in {Ops.DEFINE_LOCAL, Ops.DEFINE_REG}}, Ops.REDUCE_AXIS: "#FF6B6B", Ops.RANGE: "#c8a0e0", Ops.ASSIGN: "#909090", Ops.BARRIER: "#ff8080", Ops.IF: "#c8b0c0", Ops.SPECIAL: "#c0c0ff", - Ops.INDEX: "#cef263", Ops.WMMA: "#efefc0", Ops.MULTI: "#f6ccff", Ops.CUSTOM_KERNEL: "#3ebf55", + Ops.INDEX: "#cef263", Ops.WMMA: "#efefc0", Ops.MULTI: "#f6ccff", **{x:"#D8F9E4" for x in GroupOp.Movement}, **{x:"#ffffc0" for x in GroupOp.ALU}, Ops.THREEFRY:"#ffff80", Ops.BUFFER_VIEW: "#E5EAFF", Ops.BUFFER: "#B0BDFF", Ops.COPY: "#a040a0", Ops.ENCDEC: "#bf71b6", Ops.CALL: "#00B7C8", Ops.PARAM: "#14686F", From 087dab4c3b602df91e3f169ae79eca97123776eb Mon Sep 17 00:00:00 2001 From: qazal <77887910+Qazalin@users.noreply.github.com> Date: Sun, 8 Feb 2026 07:33:42 -0500 Subject: [PATCH 18/22] gemm/asm: split out cdna tests from CI (#14619) * gemm/asm: split out cdna tests from CI * reorder * work --- test/testextra/test_asm_gemm.py | 36 +++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/test/testextra/test_asm_gemm.py b/test/testextra/test_asm_gemm.py index 65f698ece8..e1dac741c7 100644 --- a/test/testextra/test_asm_gemm.py +++ b/test/testextra/test_asm_gemm.py @@ -5,6 +5,10 @@ from tinygrad.helpers import getenv from extra.gemm.asm.cdna.gemm import asm_gemm from test.helpers import needs_second_gpu +# On non CDNA4 it will only validate the Tensor.custom_kernel integration +# Use NULL=1 EMULATE=AMD_CDNA4 to also test the assembly +def is_cdna4(): return getattr(Device[Device.DEFAULT].renderer, "arch", "").startswith("gfx950") + def verify_asm_gemm(batch:int, M:int, N:int, K:int, dtype=dtypes.float16, gpus:int=1) -> None: Tensor.manual_seed(0) a_rand = Tensor.randn((batch, M, K), dtype=dtypes.float).sub(0.5).cast(dtype) @@ -16,37 +20,47 @@ def verify_asm_gemm(batch:int, M:int, N:int, K:int, dtype=dtypes.float16, gpus:i a, b = Tensor(a_rand.numpy(), requires_grad=True).cast(dtype), Tensor(b_rand.numpy(), requires_grad=True).cast(dtype) if multi: a, b = a.shard(devs, axis=0), b.shard(devs, axis=None) - tst = asm_gemm(a, b) - tst.sum().backward() + with Context(ASM_GEMM=1): + tst = asm_gemm(a, b) + tst.sum().backward() Tensor.realize(tst, a.grad, b.grad) a_ref, b_ref = Tensor(a_rand.numpy(), requires_grad=True).cast(dtype), Tensor(b_rand.numpy(), requires_grad=True).cast(dtype) if multi: a_ref, b_ref = a_ref.shard(devs, axis=0), b_ref.shard(devs, axis=None) - with Context(ASM_GEMM=0): ref = a_ref @ b_ref - ref.sum().backward() + with Context(ASM_GEMM=0): + ref = asm_gemm(a_ref, b_ref) + ref.sum().backward() Tensor.realize(ref, a_ref.grad, b_ref.grad) + # no validation on the NULL device + if a_rand.device.startswith("NULL"): return None with Context(DEBUG=0): assert (tst - ref).square().max().float().item() < 1e-6, "forward mismatch" assert (a.grad - a_ref.grad).square().max().float().item() < 1e-3, "grad_a mismatch" assert (b.grad - b_ref.grad).square().max().float().item() < 1e-3, "grad_b mismatch" # 128x smaller than usual -SCALE = 128 - +# uses the UOp GEMM, runs on non CDNA4 and CI @unittest.skipUnless(is_dtype_supported(dtypes.half), "need half") class TestGemm(unittest.TestCase): - def test_simple(self): verify_asm_gemm(1, N:=(getenv("N", 4096)//SCALE), N, N, dtype=dtypes.half) - def test_gemm(self): verify_asm_gemm(1, 8192//SCALE, 4096//SCALE, 14336//SCALE) - def test_gemm_batched(self): verify_asm_gemm(2, 8192//SCALE, 4096//SCALE, 4096//SCALE) + def setUp(self): + if is_cdna4(): self.skipTest("shapes are too small for the assembly GEMM") + def test_simple(self): verify_asm_gemm(1, N:=getenv("N", 32), N, N, dtype=dtypes.half) + def test_gemm(self): verify_asm_gemm(1, 64, 32, 112) + def test_gemm_batched(self): verify_asm_gemm(2, 64, 32, 32) @needs_second_gpu - def test_gemm_multi(self): verify_asm_gemm(2, 8192//SCALE, 4096//SCALE, 4096//SCALE, gpus=2) + def test_gemm_multi(self): verify_asm_gemm(2, 64, 32, 32, gpus=2) +# uses the Asm GEMM on CDNA4 only for speed reasons class TestGemmLarge(unittest.TestCase): def setUp(self): - if getattr(Device[Device.DEFAULT].renderer, "arch", "") != "gfx950": + if not is_cdna4(): self.skipTest("very slow on non mi350x") + def test_simple(self): verify_asm_gemm(1, N:=getenv("N", 4096), N, N, dtype=dtypes.half) + def test_gemm(self): verify_asm_gemm(1, 8192, 4096, 14336) + def test_gemm_batched(self): verify_asm_gemm(2, 8192, 4096, 4096) + def test_gemm1(self): verify_asm_gemm(8, 8192, 4096, 14336, dtype=dtypes.bfloat16, gpus=8) @unittest.skip("disabled, asm in this shape is slower than tinygrad") def test_gemm2(self): verify_asm_gemm(8, 8192, 128256, 4096, dtype=dtypes.bfloat16, gpus=8) From c28f7d0167e448e5fd0e244403c271e80b9cbf82 Mon Sep 17 00:00:00 2001 From: chenyu Date: Sun, 8 Feb 2026 09:36:31 -0500 Subject: [PATCH 19/22] remove realize in Tensor.svd (#14623) --- tinygrad/tensor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tinygrad/tensor.py b/tinygrad/tensor.py index f518d6efae..f50dcaea5b 100644 --- a/tinygrad/tensor.py +++ b/tinygrad/tensor.py @@ -3784,7 +3784,7 @@ class Tensor(OpMixin): S, indices = U.square().sum(-2).sqrt().sort(dim = -1, descending=True) new_indices = indices.reshape(b_shape + (1, num)).expand(b_shape + (num, num)) U = U.gather(-1, new_indices) / (S != 0).where(S, 1).unsqueeze(-2) - V = V.gather(-1, new_indices).realize() + V = V.gather(-1, new_indices) padded_u = Tensor.eye(q_num, dtype=U.dtype).reshape((1,) * len(b_shape) + (q_num, q_num)).expand(b_shape + (q_num, q_num)).contiguous() padded_u[..., 0:num, 0:num] = U From a615b9d781d8170f2f6748eede953cc3f7c81637 Mon Sep 17 00:00:00 2001 From: nimlgen <138685161+nimlgen@users.noreply.github.com> Date: Sun, 8 Feb 2026 17:38:48 +0300 Subject: [PATCH 20/22] am: f8_mode for gfx94x only (#14620) --- tinygrad/runtime/support/am/ip.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tinygrad/runtime/support/am/ip.py b/tinygrad/runtime/support/am/ip.py index d068b1c777..eeefca2202 100644 --- a/tinygrad/runtime/support/am/ip.py +++ b/tinygrad/runtime/support/am/ip.py @@ -264,7 +264,8 @@ class AM_GFX(AM_IP): self.adev.regGRBM_CNTL.update(read_timeout=0xff, inst=xcc) for i in range(0, 16): self._grbm_select(vmid=i, inst=xcc) - self.adev.regSH_MEM_CONFIG.write(**({'initial_inst_prefetch':3} if self.adev.ip_ver[am.GC_HWIP][0]>=10 else {'retry_disable':1, 'f8_mode':1}), + self.adev.regSH_MEM_CONFIG.write(**({'initial_inst_prefetch':3} if self.adev.ip_ver[am.GC_HWIP][0]>=10 else {'retry_disable':1}), + **({'f8_mode':1} if self.adev.ip_ver[am.GC_HWIP][:2]==(9,4) else {}), address_mode=self.adev.soc.module.SH_MEM_ADDRESS_MODE_64, alignment_mode=self.adev.soc.module.SH_MEM_ALIGNMENT_MODE_UNALIGNED, inst=xcc) # Configure apertures: From 01a4ee4d66f7aa78983b2da8a9074f7aae92d300 Mon Sep 17 00:00:00 2001 From: nimlgen <138685161+nimlgen@users.noreply.github.com> Date: Sun, 8 Feb 2026 19:14:13 +0300 Subject: [PATCH 21/22] do not hive_reset when amdgpu (#14624) --- extra/amdpci/hive_reset.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/extra/amdpci/hive_reset.py b/extra/amdpci/hive_reset.py index e604a143d1..f9b681f8b7 100755 --- a/extra/amdpci/hive_reset.py +++ b/extra/amdpci/hive_reset.py @@ -1,11 +1,17 @@ #!/usr/bin/env python3 +import os from tinygrad.helpers import Context from tinygrad.runtime.support.system import System, PCIDevice, PCIDevImplBase +from tinygrad.runtime.support.hcq import FileIOInterface from tinygrad.runtime.support.am.amdev import AMDev if __name__ == "__main__": gpus = System.pci_scan_bus(0x1002, [(0xffff, [0x74a1, 0x75a0])]) + for gpu in gpus: + drv_path = f"/sys/bus/pci/devices/{gpu}/driver" + if FileIOInterface.exists(drv_path) and os.path.basename(os.readlink(drv_path)) == "amdgpu": + raise RuntimeError(f"amdgpu is bound to {gpu}. Stopping...") pcidevs = [PCIDevice("AM", gpu, bars=[0, 2, 5]) for gpu in gpus] amdevs = [] with Context(DEBUG=2): From 1667669c46db10616635dc802616afb9aba65582 Mon Sep 17 00:00:00 2001 From: Filip Brzek Date: Sun, 8 Feb 2026 18:22:35 +0100 Subject: [PATCH 22/22] fix: python3 -m tinygrad.device reporting on AMD/CPU (#14622) * test: device module expects PASS in -m tinygrad.device for CPU * fix: use device._compiler_name instead of unwrap_class_type(compiler).__name__ in enumerate_devices_str --- test/null/test_device.py | 4 ++-- tinygrad/device.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/null/test_device.py b/test/null/test_device.py index ffba17fbca..2640f7f0e1 100644 --- a/test/null/test_device.py +++ b/test/null/test_device.py @@ -102,8 +102,8 @@ class TestCompiler(unittest.TestCase): class TestRunAsModule(unittest.TestCase): def test_module_runs(self): - out = '\n'.join(enumerate_devices_str()) - self.assertIn("CPU", out) # for sanity check + cpu_line = [l for l in enumerate_devices_str() if "CPU" in l][0] + self.assertIn("PASS", cpu_line, f"expected CPU to PASS, got: {cpu_line}") if __name__ == "__main__": unittest.main() diff --git a/tinygrad/device.py b/tinygrad/device.py index dc39aa2e12..fd34e25caa 100644 --- a/tinygrad/device.py +++ b/tinygrad/device.py @@ -406,9 +406,9 @@ def enumerate_devices_str() -> Generator[str, None, None]: if test != [2,4,6]: raise ValueError(f"got {test} instead of [2, 4, 6]") set_text = f'({cc_ctrl_var.key}={d._compiler_name(r, c)} to make default)' if cc_ctrl_var is not None else '' default_text = '(default)' if type(default_compiler) is type(d.compiler) else set_text - compilers_results.append(f"{colored('+', 'green')} {unwrap_class_type(c).__name__} {default_text}") + compilers_results.append(f"{colored('+', 'green')} {d._compiler_name(r, c)} {default_text}") any_works = True - except Exception as e: compilers_results.append(f"{colored('-', 'yellow')} {unwrap_class_type(c).__name__}: {e}") + except Exception as e: compilers_results.append(f"{colored('-', 'yellow')} {d._compiler_name(r, c)}: {e}") finally: # put the defaults back! d.comp_sets, d.comps_ctrl_var = default_comp_pairs, cc_ctrl_var