Skip to content

Add dcl_uav_typed, dcl_uav_raw and dcl_uav_structured instructions#149

Open
tagolog wants to merge 2 commits into
access-softek:dxsa-mlirfrom
tagolog:dxsa-mlir-dcl_uav
Open

Add dcl_uav_typed, dcl_uav_raw and dcl_uav_structured instructions#149
tagolog wants to merge 2 commits into
access-softek:dxsa-mlirfrom
tagolog:dxsa-mlir-dcl_uav

Conversation

@tagolog

@tagolog tagolog commented May 29, 2026

Copy link
Copy Markdown

Example:
dxsa.dcl_uav_typed <id = 0, dim = texture2d>,
<x = float, y = float, z = float, w = float>, <flags = globallyCoherent>
dxsa.dcl_uav_raw <id = 1>, <flags = globallyCoherent|rasterizerOrdered>
dxsa.dcl_uav_structured <id = 2, struct_byte_stride = 16>,
<flags = hasOrderPreservingCounter>

tagolog added 2 commits May 28, 2026 20:46
Example:
    dxsa.dcl_resource <id = 0>, <dim = buffer>,
        <x = unorm, y = snorm, z = sint, w = uint>
    dxsa.dcl_resource <id = 5>, <dim = texture2dms, sample_count = 4>,
        <x = float, y = float, z = float, w = float>
    dxsa.dcl_resource <id = 0, lbound = 0, ubound = 3, space = 1>,
        <dim = texture3d>, <x = float, y = float, z = float, w = float>

Signed-off-by: Vladimir Shiryaev <tagolog@users.noreply.github.com>
…structions

Example:
  dxsa.dcl_uav_typed <id = 0, dim = texture2d>,
      <x = float, y = float, z = float, w = float>, <flags = globallyCoherent>
  dxsa.dcl_uav_raw <id = 1>, <flags = globallyCoherent|rasterizerOrdered>
  dxsa.dcl_uav_structured <id = 2, struct_byte_stride = 16>,
      <flags = hasOrderPreservingCounter>

Signed-off-by: Vladimir Shiryaev <tagolog@users.noreply.github.com>
@tagolog tagolog requested a review from asavonic May 29, 2026 07:32
static LogicalResult verifyUavRange(Operation *op,
std::optional<uint32_t> lbound,
std::optional<uint32_t> ubound) {
if (lbound && ubound && *lbound > *ubound)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Need to apply the same changes as in #147. Maybe we can use the same function to verify lbound and ubound?

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.

2 participants