Implement scaled vertex buffer format emulation

These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
This commit is contained in:
Billy Laws
2023-02-18 18:23:36 +00:00
committed by bunnei
parent 206f1304d6
commit 158a1896ec
9 changed files with 97 additions and 51 deletions

View File

@ -95,6 +95,20 @@ struct StorageDefinitions {
Id U32x4{};
};
enum class InputGenericLoadOp {
None,
Bitcast,
SToF,
UToF,
};
struct InputGenericInfo {
Id id;
Id pointer_type;
Id component_type;
InputGenericLoadOp load_op;
};
struct GenericElementInfo {
Id id{};
u32 first_element{};
@ -283,7 +297,7 @@ public:
bool need_input_position_indirect{};
Id input_position{};
std::array<Id, 32> input_generics{};
std::array<InputGenericInfo, 32> input_generics{};
Id output_point_size{};
Id output_position{};