Skip to content

fix(daemon): support Texture3D depth slices#269

Merged
BANANASJIM merged 1 commit into
masterfrom
fix/texture3d-depth-slices
Jul 17, 2026
Merged

fix(daemon): support Texture3D depth slices#269
BANANASJIM merged 1 commit into
masterfrom
fix/texture3d-depth-slices

Conversation

@BANANASJIM

@BANANASJIM BANANASJIM commented Jul 17, 2026

Copy link
Copy Markdown
Owner

What

Support depth-slice statistics and expose depth metadata for true 3D textures.

Why

Related to #268. RenderDoc reports arraysize == 1 for Texture3D, so validating
tex-stats --slice against the array size rejects valid depth slices.

This PR intentionally leaves #268 open for reporter-side verification with the private
Android GLES capture.

How

  • Validate Texture3D slices against max(1, depth >> mip) while retaining array-size
    validation for array textures and cubemaps.
  • Add depth, dimension, and texture_type to resource and descriptor metadata.
  • Show depth in the regular resources and descriptors tables.
  • Add regressions for valid and invalid 3D slices after mip depth reduction.

Test plan

  • Added and updated unit tests
  • Ran pixi run check (3104 passed, 6 skipped, 93.25% coverage)
  • Pre-push E2E smoke suite (26 passed)
  • Manual verification with the reporter's private Android GLES capture

Summary by CodeRabbit

  • New Features

    • Added texture depth information to descriptor and resource table output.
    • Exposed additional texture metadata, including depth, dimensions, and texture type.
    • Added accurate 3D texture slice handling across mip levels.
  • Bug Fixes

    • Improved validation and error reporting for out-of-range 3D texture slices.

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 871e0450-e6b5-4b78-bcb6-607bce9f7fcb

📥 Commits

Reviewing files that changed from the base of the PR and between 8d31fc2 and 38e22de.

📒 Files selected for processing (11)
  • src/rdc/commands/descriptors.py
  • src/rdc/commands/resources.py
  • src/rdc/handlers/descriptor.py
  • src/rdc/handlers/query.py
  • src/rdc/handlers/texture.py
  • tests/unit/test_descriptors_commands.py
  • tests/unit/test_descriptors_daemon.py
  • tests/unit/test_formatters.py
  • tests/unit/test_resources_commands.py
  • tests/unit/test_resources_filter.py
  • tests/unit/test_tex_stats_handler.py

📝 Walkthrough

Walkthrough

Texture descriptor and resource responses now expose depth, dimension, and texture type metadata. CLI tables include a DEPTH column, while tex_stats validates Texture3D slices against mip-adjusted depth.

Changes

Texture metadata and slice validation

Layer / File(s) Summary
Texture metadata enrichment
src/rdc/handlers/descriptor.py, src/rdc/handlers/query.py, tests/unit/test_resources_filter.py, tests/unit/test_descriptors_daemon.py
Descriptor and resource rows now include depth, dimension, and normalized texture type values, with coverage for Texture3D metadata.
CLI table rendering
src/rdc/commands/descriptors.py, src/rdc/commands/resources.py, tests/unit/test_descriptors_commands.py, tests/unit/test_resources_commands.py, tests/unit/test_formatters.py
Descriptor and resource TSV output adds a DEPTH column and renders the corresponding values.
Texture3D slice validation
src/rdc/handlers/texture.py, tests/unit/test_tex_stats_handler.py
tex_stats uses mip-adjusted depth for Texture3D slice bounds and tests valid and invalid requests.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related issues

Possibly related PRs

  • BANANASJIM/rdc-cli#264 — Touches the same descriptor/resource texture-enrichment path and related output fields.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 13.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: daemon support for Texture3D depth-slice handling.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/texture3d-depth-slices

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@BANANASJIM
BANANASJIM merged commit 54991c8 into master Jul 17, 2026
16 of 17 checks passed
@BANANASJIM
BANANASJIM deleted the fix/texture3d-depth-slices branch July 17, 2026 08:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant