video_core: Add constant buffer support (#147)

This commit is contained in:
TheTurtle 2024-05-26 15:51:35 +03:00 committed by GitHub
parent 3c90b8ac00
commit 8dfa5782b2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 395 additions and 56 deletions

View file

@ -114,6 +114,7 @@ public:
return ConstantComposite(type, constituents);
}
Info& info;
const Profile& profile;
Stage stage{};
@ -141,6 +142,9 @@ public:
Id output_u32{};
Id output_f32{};
Id uniform_f32{};
Id storage_f32{};
boost::container::small_vector<Id, 16> interfaces;
Id output_position{};
@ -148,6 +152,9 @@ public:
Id base_vertex{};
std::array<Id, 8> frag_color{};
u32 binding{};
boost::container::small_vector<Id, 4> buffers;
struct SpirvAttribute {
Id id;
Id pointer_type;
@ -160,8 +167,9 @@ public:
private:
void DefineArithmeticTypes();
void DefineInterfaces(const IR::Program& program);
void DefineInputs(const IR::Program& program);
void DefineOutputs(const IR::Program& program);
void DefineInputs(const Info& info);
void DefineOutputs(const Info& info);
void DefineBuffers(const Info& info);
SpirvAttribute GetAttributeInfo(AmdGpu::NumberFormat fmt, Id id);
};