Maxwell3D: Rework CBData Upload

This commit is contained in:
Fernando Sahmkow
2019-07-12 09:25:47 -04:00
committed by FernandoS27
parent f2e7b29c14
commit 0d3db58657
2 changed files with 45 additions and 8 deletions

View File

@ -1244,6 +1244,15 @@ private:
Upload::State upload_state;
static constexpr u32 null_cb_data = 0xFFFFFFFF;
struct {
std::array<std::array<u32, 0x4000>, 16> buff;
u32 current{null_cb_data};
u32 id{null_cb_data};
u32 start_pos{};
u32 counter{};
} cb_data_state;
/// Retrieves information about a specific TIC entry from the TIC buffer.
Texture::TICEntry GetTICEntry(u32 tic_index) const;
@ -1275,7 +1284,9 @@ private:
void ProcessSyncPoint();
/// Handles a write to the CB_DATA[i] register.
void StartCBData(u32 method);
void ProcessCBData(u32 value);
void FinishCBData();
/// Handles a write to the CB_BIND register.
void ProcessCBBind(Regs::ShaderStage stage);