| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
- // SPDX-License-Identifier: GPL-2.0-or-later
- #pragma once
- #include "common/common_types.h"
- namespace Shader::IR {
- enum class Patch : u64 {
- TessellationLodLeft,
- TessellationLodTop,
- TessellationLodRight,
- TessellationLodBottom,
- TessellationLodInteriorU,
- TessellationLodInteriorV,
- ComponentPadding0,
- ComponentPadding1,
- Component0,
- Component1,
- Component2,
- Component3,
- Component4,
- Component5,
- Component6,
- Component7,
- Component8,
- Component9,
- Component10,
- Component11,
- Component12,
- Component13,
- Component14,
- Component15,
- Component16,
- Component17,
- Component18,
- Component19,
- Component20,
- Component21,
- Component22,
- Component23,
- Component24,
- Component25,
- Component26,
- Component27,
- Component28,
- Component29,
- Component30,
- Component31,
- Component32,
- Component33,
- Component34,
- Component35,
- Component36,
- Component37,
- Component38,
- Component39,
- Component40,
- Component41,
- Component42,
- Component43,
- Component44,
- Component45,
- Component46,
- Component47,
- Component48,
- Component49,
- Component50,
- Component51,
- Component52,
- Component53,
- Component54,
- Component55,
- Component56,
- Component57,
- Component58,
- Component59,
- Component60,
- Component61,
- Component62,
- Component63,
- Component64,
- Component65,
- Component66,
- Component67,
- Component68,
- Component69,
- Component70,
- Component71,
- Component72,
- Component73,
- Component74,
- Component75,
- Component76,
- Component77,
- Component78,
- Component79,
- Component80,
- Component81,
- Component82,
- Component83,
- Component84,
- Component85,
- Component86,
- Component87,
- Component88,
- Component89,
- Component90,
- Component91,
- Component92,
- Component93,
- Component94,
- Component95,
- Component96,
- Component97,
- Component98,
- Component99,
- Component100,
- Component101,
- Component102,
- Component103,
- Component104,
- Component105,
- Component106,
- Component107,
- Component108,
- Component109,
- Component110,
- Component111,
- Component112,
- Component113,
- Component114,
- Component115,
- Component116,
- Component117,
- Component118,
- Component119,
- };
- static_assert(static_cast<u64>(Patch::Component119) == 127);
- [[nodiscard]] bool IsGeneric(Patch patch) noexcept;
- [[nodiscard]] u32 GenericPatchIndex(Patch patch);
- [[nodiscard]] u32 GenericPatchElement(Patch patch);
- } // namespace Shader::IR
|