Pewarta Proxy

📋 Server Request & Proxy Logs

Loading active proxy settings...
Developed by Khairul Adha (adhexa.id)
Mengambil log server...

⚙️ Pengaturan Proxy Target

Skip to content

[SPIR-V] Invalid OpCopyLogical with identical operand and result types #9083

Open

Description

Description
Compiling a shader that copies a struct or array from a constant buffer into an RWStructuredBuffer can produce invalid SPIR-V when targeting SPIR-V 1.4 or later. This regressed in #7530: DXC emits OpCopyLogical to convert between buffer layouts, but when those layouts coincide, type lowering can deduplicate the source and destination into the same SPIR-V type.  OpCopyLogical requires distinct operand and result types, so validation fails with “Result Type must not equal the Operand type.” The fix emits OpCopyObject when the final type IDs match, retaining  OpCopyLogical  when they differ.

Steps to Reproduce
https://godbolt.org/z/PY6873GE7
Set the version back to 1.8.2505.1 and the compile will succeed

Actual Behavior
validation fails with “Result Type must not equal the Operand type.”

Environment

  • DXC version 1.10.2605
  • Host Operating System All

Activity

  1. akhil9tiet commented on Oct 29, 2026

    @akhil9tiet

    I'd like to work on this — please assign it to me.

  2. SteveUrquhart commented on Oct 29, 2026

    @SteveUrquhart
    ContributorAuthor

    I have a PR that I plan to open momentarily.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugBug, regression, crashneeds-triageAwaiting triagespirvWork related to SPIR-V

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions