summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2020-12-15 00:35:47 -0800
committerGravatar GitHub2020-12-15 00:35:47 -0800
commit37bec068c2e3814bf23f1b8c1c6dd00d80191d27 (patch)
tree5697ab2010a0634bb2869d7fcdf01fdd72f46216
parentMerge pull request #5168 from Morph1984/aoc-PurchaseEventManager (diff)
parentmaxwell_3d: Move member variables to end of class (diff)
downloadyuzu-37bec068c2e3814bf23f1b8c1c6dd00d80191d27.tar.gz
yuzu-37bec068c2e3814bf23f1b8c1c6dd00d80191d27.tar.xz
yuzu-37bec068c2e3814bf23f1b8c1c6dd00d80191d27.zip
Merge pull request #5157 from lioncash/array-dirty
maxwell_3d: Remove unused dirty_pointer array
-rw-r--r--src/video_core/engines/maxwell_3d.h67
1 files changed, 33 insertions, 34 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index b0d9559d0..564acbc53 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -1473,39 +1473,6 @@ private:
1473 1473
1474 void ProcessMethodCall(u32 method, u32 argument, u32 nonshadow_argument, bool is_last_call); 1474 void ProcessMethodCall(u32 method, u32 argument, u32 nonshadow_argument, bool is_last_call);
1475 1475
1476 Core::System& system;
1477 MemoryManager& memory_manager;
1478
1479 VideoCore::RasterizerInterface* rasterizer = nullptr;
1480
1481 /// Start offsets of each macro in macro_memory
1482 std::array<u32, 0x80> macro_positions = {};
1483
1484 std::array<bool, Regs::NUM_REGS> mme_inline{};
1485
1486 /// Macro method that is currently being executed / being fed parameters.
1487 u32 executing_macro = 0;
1488 /// Parameters that have been submitted to the macro call so far.
1489 std::vector<u32> macro_params;
1490
1491 /// Interpreter for the macro codes uploaded to the GPU.
1492 std::unique_ptr<MacroEngine> macro_engine;
1493
1494 static constexpr u32 null_cb_data = 0xFFFFFFFF;
1495 struct {
1496 std::array<std::array<u32, 0x4000>, 16> buffer;
1497 u32 current{null_cb_data};
1498 u32 id{null_cb_data};
1499 u32 start_pos{};
1500 u32 counter{};
1501 } cb_data_state;
1502
1503 Upload::State upload_state;
1504
1505 bool execute_on{true};
1506
1507 std::array<u8, Regs::NUM_REGS> dirty_pointers{};
1508
1509 /// Retrieves information about a specific TIC entry from the TIC buffer. 1476 /// Retrieves information about a specific TIC entry from the TIC buffer.
1510 Texture::TICEntry GetTICEntry(u32 tic_index) const; 1477 Texture::TICEntry GetTICEntry(u32 tic_index) const;
1511 1478
@@ -1514,8 +1481,8 @@ private:
1514 1481
1515 /** 1482 /**
1516 * Call a macro on this engine. 1483 * Call a macro on this engine.
1484 *
1517 * @param method Method to call 1485 * @param method Method to call
1518 * @param num_parameters Number of arguments
1519 * @param parameters Arguments to the method call 1486 * @param parameters Arguments to the method call
1520 */ 1487 */
1521 void CallMacroMethod(u32 method, const std::vector<u32>& parameters); 1488 void CallMacroMethod(u32 method, const std::vector<u32>& parameters);
@@ -1564,6 +1531,38 @@ private:
1564 1531
1565 /// Returns a query's value or an empty object if the value will be deferred through a cache. 1532 /// Returns a query's value or an empty object if the value will be deferred through a cache.
1566 std::optional<u64> GetQueryResult(); 1533 std::optional<u64> GetQueryResult();
1534
1535 Core::System& system;
1536 MemoryManager& memory_manager;
1537
1538 VideoCore::RasterizerInterface* rasterizer = nullptr;
1539
1540 /// Start offsets of each macro in macro_memory
1541 std::array<u32, 0x80> macro_positions{};
1542
1543 std::array<bool, Regs::NUM_REGS> mme_inline{};
1544
1545 /// Macro method that is currently being executed / being fed parameters.
1546 u32 executing_macro = 0;
1547 /// Parameters that have been submitted to the macro call so far.
1548 std::vector<u32> macro_params;
1549
1550 /// Interpreter for the macro codes uploaded to the GPU.
1551 std::unique_ptr<MacroEngine> macro_engine;
1552
1553 static constexpr u32 null_cb_data = 0xFFFFFFFF;
1554 struct CBDataState {
1555 std::array<std::array<u32, 0x4000>, 16> buffer;
1556 u32 current{null_cb_data};
1557 u32 id{null_cb_data};
1558 u32 start_pos{};
1559 u32 counter{};
1560 };
1561 CBDataState cb_data_state;
1562
1563 Upload::State upload_state;
1564
1565 bool execute_on{true};
1567}; 1566};
1568 1567
1569#define ASSERT_REG_POSITION(field_name, position) \ 1568#define ASSERT_REG_POSITION(field_name, position) \