summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpgpu-sim')
-rw-r--r--src/gpgpu-sim/mem_fetch.h1
-rw-r--r--src/gpgpu-sim/shader.cc2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/gpgpu-sim/mem_fetch.h b/src/gpgpu-sim/mem_fetch.h
index 369ea33..cc3147c 100644
--- a/src/gpgpu-sim/mem_fetch.h
+++ b/src/gpgpu-sim/mem_fetch.h
@@ -118,6 +118,7 @@ public:
unsigned get_icnt_receive_time() const { return m_icnt_receive_time; }
enum mem_access_type get_access_type() const { return m_access.get_type(); }
+ const active_mask_t& get_access_warp_mask() const { return m_access.get_warp_mask(); }
address_type get_pc() const { return m_inst.empty()?-1:m_inst.pc; }
const warp_inst_t &get_inst() { return m_inst; }
enum mem_fetch_status get_status() const { return m_status; }
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc
index 50ad5ea..4ce7536 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -1132,7 +1132,7 @@ void ldst_unit::writeback()
if( m_next_global ) {
m_next_wb = m_next_global->get_inst();
if( m_next_global->isatomic() )
- m_core->decrement_atomic_count(m_next_global->get_wid(),m_next_wb.active_count());
+ m_core->decrement_atomic_count(m_next_global->get_wid(),m_next_global->get_access_warp_mask().count());
delete m_next_global;
m_next_global = NULL;
}