Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gl: Fix texture cache bugs #2490

Merged
merged 1 commit into from Mar 10, 2017
Merged

gl: Fix texture cache bugs #2490

merged 1 commit into from Mar 10, 2017

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Mar 10, 2017

  • Fix endianness bug
  • Fix r/w when real pitch is <= 64
  • Fix deadlock/crash where secondary thread has lower priority than rsx::thread

@mention-bot
Copy link

@kd-11, thanks for your PR! By analyzing the history of the files in this pull request, we identified @vlj, @Nekotekina and @raven02 to be potential reviewers.

@kd-11
Copy link
Contributor Author

kd-11 commented Mar 10, 2017

This should fix cases where write color buffers did not work, or colors were broken or black with it enabled.

Fix endianness bug
Fix r/w when real pitch is <= 64
bool received = false;
gl::texture_cache::cached_rtt_section *section_to_flush = nullptr;

volatile bool processed = false;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't really make them atomic if it is the intent.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They aren't atomic, since the thread that receives this is waiting on the condition variable. Its just to keep the compiler from doing any shady optimizations.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, ok. If there won't be an issue with cache coherence and it's just for compiler optimizations it's fine.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I know x86 should not require explicit flushing so as long as the value is fetched from memory on consumer wake it should be fine. The values are just passed as a function result and the consumer does not actually use them.

@kd-11 kd-11 closed this Mar 10, 2017
@kd-11 kd-11 reopened this Mar 10, 2017
@kd-11
Copy link
Contributor Author

kd-11 commented Mar 10, 2017

Travis-ci is asleep it seems.

@danilaml
Copy link
Contributor

@kd-11
Copy link
Contributor Author

kd-11 commented Mar 10, 2017

Oh. Ok then. Thanks.

@kd-11 kd-11 merged commit 596db2c into RPCS3:master Mar 10, 2017
@kd-11 kd-11 deleted the texture_cache_fix branch October 13, 2017 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants