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

BACKENDS: OPENGL: Fix FakeTexture palette init. PVS-Studio V1086 #5445

Merged
merged 1 commit into from Nov 20, 2023

Conversation

sluicebox
Copy link
Member

@sluicebox sluicebox commented Nov 18, 2023

Doing this as a PR because I'm not familiar with this graphics code.

Summary by CodeRabbit

  • Refactor
    • Improved the initialization process of texture palettes to ensure consistent zeroing out of data for better reliability in graphics rendering.

Copy link
Contributor

coderabbitai bot commented Nov 18, 2023

Walkthrough

The update simplifies the initialization of the _palette array in the FakeTexture constructor for the CLUT8 format. Instead of manually setting each element to zero, the change employs value initialization to zero out all elements at once, enhancing code clarity and reliability.

Changes

File Summary
.../opengl/texture.cpp Updated FakeTexture constructor to use value initialization for zeroing _palette array when _fakeFormat is CLUT8.

🐇🍂 In the code's autumn, a small change we weave,
Zeroing arrays with grace, before winter's eve.
With a hop and a skip, the palette's set right,
A coderabbit's joy on this brisk November night. 🌟


Tips

Chat with CodeRabbit Bot (@coderabbitai)

  • If you reply to a review comment from CodeRabbit, the bot will automatically respond.
  • To engage with CodeRabbit bot directly around the specific lines of code in the PR, mention @coderabbitai in your review comment
  • Note: Review comments are made on code diffs or files, not on the PR overview.
  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Note: For conversation with the bot, please use the review comments on code diffs or files.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 5dbffb3 and 2a307f7.
Files selected for processing (1)
  • backends/graphics/opengl/texture.cpp (1 hunks)

@sluicebox
Copy link
Member Author

sluicebox commented Nov 18, 2023

The robot has misdiagnosed this as an optimization instead of a bugfix =)

(unless the intent really was to do _palette[0] = 0 with memset)

@bluegr
Copy link
Member

bluegr commented Nov 20, 2023

The current behavior is definitely buggy, so the proposed fix makes sense.

@ccawley2011, could you provide some feedback? It seems that this was a bug that was in the code, which was refactored in commit 30c093b

@bluegr
Copy link
Member

bluegr commented Nov 20, 2023

Just talked with @ccawley2011, and he agrees that this fix is correct

Thanks for your feedback everyone! Merging

@bluegr bluegr merged commit ddc2de5 into scummvm:master Nov 20, 2023
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants