Actions
Emulator Issues #8598
closedOGL: zfreeze reads from WRITE_ONLY mapped buffer
Status:
Fixed
Priority:
High
Assignee:
-
% Done:
0%
Operating system:
N/A
Issue type:
Bug
Milestone:
Current
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
Description
The current zfreeze code reads the last position from the vertex buffer. This buffer is given by the backend as WRITE_ONLY. On OpenGL, this is often a write_combined memory, so every read operation will fall back to uncached memory. This ends in a 5% real time usage because of waiting for memory.
Officially, this is a OpenGL violation. So newer driver may also read-protect this page and dolphin may crash.
There is a fix as WIP:
https://github.com/dolphin-emu/dolphin/pull/2141
The broken access is in:
https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/VertexManagerBase.cpp#L302
Updated by JMC4789 almost 9 years ago
It is currently broken as of this posting - https://dl.dropboxusercontent.com/u/484730/Itdoenstwork.jpg
Updated by flacs almost 9 years ago
- Status changed from New to Work started
Updated by flacs almost 9 years ago
- Status changed from Work started to Fix pending
Updated by flacs almost 9 years ago
- Status changed from Fix pending to Fixed
Actions