2017-01-03 06:37:50 +00:00
|
|
|
#pragma once
|
2017-01-07 15:46:51 +00:00
|
|
|
#include <istream>
|
2017-01-03 06:37:50 +00:00
|
|
|
#include "gDP.h"
|
|
|
|
|
|
|
|
class CombinerKey {
|
|
|
|
public:
|
2017-09-24 11:36:07 +00:00
|
|
|
CombinerKey() {
|
|
|
|
m_key.mux = 0;
|
|
|
|
}
|
2017-10-24 15:23:27 +00:00
|
|
|
explicit CombinerKey(u64 _mux, bool _setModeBits = true);
|
2017-01-03 06:37:50 +00:00
|
|
|
CombinerKey(const CombinerKey & _other);
|
|
|
|
|
|
|
|
void operator=(u64 _mux);
|
|
|
|
void operator=(const CombinerKey & _other);
|
|
|
|
|
|
|
|
bool operator==(const CombinerKey & _other) const;
|
|
|
|
bool operator<(const CombinerKey & _other) const;
|
|
|
|
|
|
|
|
bool isRectKey() const;
|
2017-01-07 15:46:51 +00:00
|
|
|
|
2020-12-28 09:18:18 +00:00
|
|
|
bool isHWLSupported() const;
|
|
|
|
|
2017-01-07 15:46:51 +00:00
|
|
|
u32 getCycleType() const;
|
|
|
|
|
2017-12-10 15:03:42 +00:00
|
|
|
u32 getBilerp() const;
|
|
|
|
|
2017-01-03 06:37:50 +00:00
|
|
|
u64 getMux() const { return m_key.mux; }
|
|
|
|
|
2017-01-07 15:46:51 +00:00
|
|
|
void read(std::istream & _is);
|
|
|
|
|
2017-12-14 08:45:41 +00:00
|
|
|
static const CombinerKey & getEmpty();
|
|
|
|
|
2017-01-03 06:37:50 +00:00
|
|
|
private:
|
|
|
|
gDPCombine m_key;
|
|
|
|
};
|